first commit
This commit is contained in:
@@ -17,13 +17,13 @@ namespace WapplerSystems\Meilisearch\Controller;
|
||||
use WapplerSystems\Meilisearch\ConnectionManager;
|
||||
use WapplerSystems\Meilisearch\Domain\Search\ResultSet\SearchResultSetService;
|
||||
use WapplerSystems\Meilisearch\Domain\Search\SearchRequestBuilder;
|
||||
use WapplerSystems\Meilisearch\NoSolrConnectionFoundException;
|
||||
use WapplerSystems\Meilisearch\NoMeilisearchConnectionFoundException;
|
||||
use WapplerSystems\Meilisearch\Search;
|
||||
use WapplerSystems\Meilisearch\System\Configuration\TypoScriptConfiguration;
|
||||
use WapplerSystems\Meilisearch\Mvc\Controller\SolrControllerContext;
|
||||
use WapplerSystems\Meilisearch\System\Logging\SolrLogManager;
|
||||
use WapplerSystems\Meilisearch\Mvc\Controller\MeilisearchControllerContext;
|
||||
use WapplerSystems\Meilisearch\System\Logging\MeilisearchLogManager;
|
||||
use WapplerSystems\Meilisearch\System\Service\ConfigurationService;
|
||||
use WapplerSystems\Meilisearch\System\Configuration\ConfigurationManager as SolrConfigurationManager;
|
||||
use WapplerSystems\Meilisearch\System\Configuration\ConfigurationManager as MeilisearchConfigurationManager;
|
||||
use WapplerSystems\Meilisearch\Util;
|
||||
use TYPO3\CMS\Core\TypoScript\TypoScriptService;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
@@ -56,9 +56,9 @@ abstract class AbstractBaseController extends ActionController
|
||||
protected $configurationManager;
|
||||
|
||||
/**
|
||||
* @var SolrConfigurationManager
|
||||
* @var MeilisearchConfigurationManager
|
||||
*/
|
||||
private $solrConfigurationManager;
|
||||
private $meilisearchConfigurationManager;
|
||||
|
||||
/**
|
||||
* The configuration is private if you need it please get it from the controllerContext.
|
||||
@@ -68,7 +68,7 @@ abstract class AbstractBaseController extends ActionController
|
||||
protected $typoScriptConfiguration;
|
||||
|
||||
/**
|
||||
* @var \WapplerSystems\Meilisearch\Mvc\Controller\SolrControllerContext
|
||||
* @var \WapplerSystems\Meilisearch\Mvc\Controller\MeilisearchControllerContext
|
||||
*/
|
||||
protected $controllerContext;
|
||||
|
||||
@@ -115,11 +115,11 @@ abstract class AbstractBaseController extends ActionController
|
||||
}
|
||||
|
||||
/**
|
||||
* @param SolrConfigurationManager $configurationManager
|
||||
* @param MeilisearchConfigurationManager $configurationManager
|
||||
*/
|
||||
public function injectSolrConfigurationManager(SolrConfigurationManager $configurationManager)
|
||||
public function injectMeilisearchConfigurationManager(MeilisearchConfigurationManager $configurationManager)
|
||||
{
|
||||
$this->solrConfigurationManager = $configurationManager;
|
||||
$this->meilisearchConfigurationManager = $configurationManager;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -138,8 +138,8 @@ abstract class AbstractBaseController extends ActionController
|
||||
*/
|
||||
protected function buildControllerContext()
|
||||
{
|
||||
/** @var $controllerContext \WapplerSystems\Meilisearch\Mvc\Controller\SolrControllerContext */
|
||||
$controllerContext = $this->objectManager->get(SolrControllerContext::class);
|
||||
/** @var $controllerContext \WapplerSystems\Meilisearch\Mvc\Controller\MeilisearchControllerContext */
|
||||
$controllerContext = $this->objectManager->get(MeilisearchControllerContext::class);
|
||||
$controllerContext->setRequest($this->request);
|
||||
$controllerContext->setResponse($this->response);
|
||||
if ($this->arguments !== null) {
|
||||
@@ -159,23 +159,23 @@ abstract class AbstractBaseController extends ActionController
|
||||
{
|
||||
// Reset configuration (to reset flexform overrides) if resetting is enabled
|
||||
if ($this->resetConfigurationBeforeInitialize) {
|
||||
$this->solrConfigurationManager->reset();
|
||||
$this->meilisearchConfigurationManager->reset();
|
||||
}
|
||||
/** @var TypoScriptService $typoScriptService */
|
||||
$typoScriptService = $this->objectManager->get(TypoScriptService::class);
|
||||
|
||||
// Merge settings done by typoscript with solrConfiguration plugin.tx_meilisearch (obsolete when part of ext:solr)
|
||||
// Merge settings done by typoscript with meilisearchConfiguration plugin.tx_meilisearch (obsolete when part of ext:meilisearch)
|
||||
$frameWorkConfiguration = $this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
|
||||
$pluginSettings = [];
|
||||
foreach (['search', 'settings', 'suggest', 'statistics', 'logging', 'general', 'solr', 'view'] as $key) {
|
||||
foreach (['search', 'settings', 'suggest', 'statistics', 'logging', 'general', 'meilisearch', 'view'] as $key) {
|
||||
if (isset($frameWorkConfiguration[$key])) {
|
||||
$pluginSettings[$key] = $frameWorkConfiguration[$key];
|
||||
}
|
||||
}
|
||||
|
||||
$this->typoScriptConfiguration = $this->solrConfigurationManager->getTypoScriptConfiguration();
|
||||
$this->typoScriptConfiguration = $this->meilisearchConfigurationManager->getTypoScriptConfiguration();
|
||||
if ($pluginSettings !== []) {
|
||||
$this->typoScriptConfiguration->mergeSolrConfiguration(
|
||||
$this->typoScriptConfiguration->mergeMeilisearchConfiguration(
|
||||
$typoScriptService->convertPlainArrayToTypoScriptArray($pluginSettings),
|
||||
true,
|
||||
false
|
||||
@@ -192,7 +192,7 @@ abstract class AbstractBaseController extends ActionController
|
||||
$this->typoScriptFrontendController = $GLOBALS['TSFE'];
|
||||
$this->initializeSettings();
|
||||
|
||||
if ($this->actionMethodName !== 'solrNotAvailableAction') {
|
||||
if ($this->actionMethodName !== 'meilisearchNotAvailableAction') {
|
||||
$this->initializeSearch();
|
||||
}
|
||||
}
|
||||
@@ -214,23 +214,23 @@ abstract class AbstractBaseController extends ActionController
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the Solr connection and
|
||||
* Initialize the Meilisearch connection and
|
||||
* test the connection through a ping
|
||||
*/
|
||||
protected function initializeSearch()
|
||||
{
|
||||
/** @var \WapplerSystems\Meilisearch\ConnectionManager $solrConnection */
|
||||
/** @var \WapplerSystems\Meilisearch\ConnectionManager $meilisearchConnection */
|
||||
try {
|
||||
$solrConnection = $this->objectManager->get(ConnectionManager::class)->getConnectionByPageId($this->typoScriptFrontendController->id, Util::getLanguageUid(), $this->typoScriptFrontendController->MP);
|
||||
$search = $this->objectManager->get(Search::class, $solrConnection);
|
||||
$meilisearchConnection = $this->objectManager->get(ConnectionManager::class)->getConnectionByPageId($this->typoScriptFrontendController->id, Util::getLanguageUid(), $this->typoScriptFrontendController->MP);
|
||||
$search = $this->objectManager->get(Search::class, $meilisearchConnection);
|
||||
|
||||
$this->searchService = $this->objectManager->get(
|
||||
SearchResultSetService::class,
|
||||
/** @scrutinizer ignore-type */ $this->typoScriptConfiguration,
|
||||
/** @scrutinizer ignore-type */ $search
|
||||
);
|
||||
} catch (NoSolrConnectionFoundException $e) {
|
||||
$this->handleSolrUnavailable();
|
||||
} catch (NoMeilisearchConnectionFoundException $e) {
|
||||
$this->handleMeilisearchUnavailable();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -247,16 +247,16 @@ abstract class AbstractBaseController extends ActionController
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the solr server is unavailable.
|
||||
* Called when the meilisearch server is unavailable.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function handleSolrUnavailable()
|
||||
protected function handleMeilisearchUnavailable()
|
||||
{
|
||||
if ($this->typoScriptConfiguration->getLoggingExceptions()) {
|
||||
/** @var SolrLogManager $logger */
|
||||
$logger = GeneralUtility::makeInstance(SolrLogManager::class, /** @scrutinizer ignore-type */ __CLASS__);
|
||||
$logger->log(SolrLogManager::ERROR, 'Solr server is not available');
|
||||
/** @var MeilisearchLogManager $logger */
|
||||
$logger = GeneralUtility::makeInstance(MeilisearchLogManager::class, /** @scrutinizer ignore-type */ __CLASS__);
|
||||
$logger->log(MeilisearchLogManager::ERROR, 'Meilisearch server is not available');
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -4,7 +4,7 @@ namespace WapplerSystems\Meilisearch\Controller\Backend\Search;
|
||||
/***************************************************************
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2010-2017 dkd Internet Service GmbH <solr-support@dkd.de>
|
||||
* (c) 2010-2017 dkd Internet Service GmbH <meilisearch-support@dkd.de>
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
@@ -27,7 +27,7 @@ namespace WapplerSystems\Meilisearch\Controller\Backend\Search;
|
||||
use WapplerSystems\Meilisearch\ConnectionManager;
|
||||
use WapplerSystems\Meilisearch\Domain\Site\SiteRepository;
|
||||
use WapplerSystems\Meilisearch\Domain\Site\Site;
|
||||
use WapplerSystems\Meilisearch\System\Solr\SolrConnection as SolrCoreConnection;
|
||||
use WapplerSystems\Meilisearch\System\Meilisearch\MeilisearchConnection as MeilisearchCoreConnection;
|
||||
use WapplerSystems\Meilisearch\System\Mvc\Backend\Component\Exception\InvalidViewObjectNameException;
|
||||
use WapplerSystems\Meilisearch\System\Mvc\Backend\Service\ModuleDataStorageService;
|
||||
use TYPO3\CMS\Backend\Template\Components\Menu\Menu;
|
||||
@@ -81,9 +81,9 @@ abstract class AbstractModuleController extends ActionController
|
||||
protected $siteRepository;
|
||||
|
||||
/**
|
||||
* @var SolrCoreConnection
|
||||
* @var MeilisearchCoreConnection
|
||||
*/
|
||||
protected $selectedSolrCoreConnection;
|
||||
protected $selectedMeilisearchCoreConnection;
|
||||
|
||||
/**
|
||||
* @var Menu
|
||||
@@ -93,7 +93,7 @@ abstract class AbstractModuleController extends ActionController
|
||||
/**
|
||||
* @var ConnectionManager
|
||||
*/
|
||||
protected $solrConnectionManager = null;
|
||||
protected $meilisearchConnectionManager = null;
|
||||
|
||||
/**
|
||||
* @var ModuleDataStorageService
|
||||
@@ -122,7 +122,7 @@ abstract class AbstractModuleController extends ActionController
|
||||
protected function initializeAction()
|
||||
{
|
||||
parent::initializeAction();
|
||||
$this->solrConnectionManager = GeneralUtility::makeInstance(ConnectionManager::class);
|
||||
$this->meilisearchConnectionManager = GeneralUtility::makeInstance(ConnectionManager::class);
|
||||
$this->moduleDataStorageService = GeneralUtility::makeInstance(ModuleDataStorageService::class);
|
||||
|
||||
$this->selectedPageUID = (int)GeneralUtility::_GP('id');
|
||||
@@ -213,7 +213,7 @@ abstract class AbstractModuleController extends ActionController
|
||||
}
|
||||
|
||||
if ($this->view instanceof NotFoundView) {
|
||||
$this->initializeSelectedSolrCoreConnection();
|
||||
$this->initializeSelectedMeilisearchCoreConnection();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -244,8 +244,8 @@ abstract class AbstractModuleController extends ActionController
|
||||
$uriToRedirectTo = $this->uriBuilder->reset()->uriFor();
|
||||
}
|
||||
|
||||
$this->initializeSelectedSolrCoreConnection();
|
||||
$cores = $this->solrConnectionManager->getConnectionsBySite($site);
|
||||
$this->initializeSelectedMeilisearchCoreConnection();
|
||||
$cores = $this->meilisearchConnectionManager->getConnectionsBySite($site);
|
||||
foreach ($cores as $core) {
|
||||
$coreAdmin = $core->getAdminService();
|
||||
$menuItem = $this->coreSelectorMenu->makeMenuItem();
|
||||
@@ -258,7 +258,7 @@ abstract class AbstractModuleController extends ActionController
|
||||
);
|
||||
$menuItem->setHref($uri);
|
||||
|
||||
if ($coreAdmin->getCorePath() == $this->selectedSolrCoreConnection->getAdminService()->getCorePath()) {
|
||||
if ($coreAdmin->getCorePath() == $this->selectedMeilisearchCoreConnection->getAdminService()->getCorePath()) {
|
||||
$menuItem->setActive(true);
|
||||
}
|
||||
$this->coreSelectorMenu->addMenuItem($menuItem);
|
||||
@@ -281,48 +281,48 @@ abstract class AbstractModuleController extends ActionController
|
||||
$moduleData->setCore($corePath);
|
||||
|
||||
$this->moduleDataStorageService->persistModuleData($moduleData);
|
||||
$message = LocalizationUtility::translate('coreselector_switched_successfully', 'solr', [$corePath]);
|
||||
$message = LocalizationUtility::translate('coreselector_switched_successfully', 'meilisearch', [$corePath]);
|
||||
$this->addFlashMessage($message);
|
||||
$this->redirectToUri($uriToRedirectTo);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the solr core connection considerately to the components state.
|
||||
* Initializes the meilisearch core connection considerately to the components state.
|
||||
* Uses and persists default core connection if persisted core in Site does not exist.
|
||||
*
|
||||
*/
|
||||
private function initializeSelectedSolrCoreConnection()
|
||||
private function initializeSelectedMeilisearchCoreConnection()
|
||||
{
|
||||
$moduleData = $this->moduleDataStorageService->loadModuleData();
|
||||
|
||||
$solrCoreConnections = $this->solrConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
$currentSolrCorePath = $moduleData->getCore();
|
||||
if (empty($currentSolrCorePath)) {
|
||||
$this->initializeFirstAvailableSolrCoreConnection($solrCoreConnections, $moduleData);
|
||||
$meilisearchCoreConnections = $this->meilisearchConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
$currentMeilisearchCorePath = $moduleData->getCore();
|
||||
if (empty($currentMeilisearchCorePath)) {
|
||||
$this->initializeFirstAvailableMeilisearchCoreConnection($meilisearchCoreConnections, $moduleData);
|
||||
return;
|
||||
}
|
||||
foreach ($solrCoreConnections as $solrCoreConnection) {
|
||||
if ($solrCoreConnection->getAdminService()->getCorePath() == $currentSolrCorePath) {
|
||||
$this->selectedSolrCoreConnection = $solrCoreConnection;
|
||||
foreach ($meilisearchCoreConnections as $meilisearchCoreConnection) {
|
||||
if ($meilisearchCoreConnection->getAdminService()->getCorePath() == $currentMeilisearchCorePath) {
|
||||
$this->selectedMeilisearchCoreConnection = $meilisearchCoreConnection;
|
||||
}
|
||||
}
|
||||
if (!$this->selectedSolrCoreConnection instanceof SolrCoreConnection && count($solrCoreConnections) > 0) {
|
||||
$this->initializeFirstAvailableSolrCoreConnection($solrCoreConnections, $moduleData);
|
||||
$message = LocalizationUtility::translate('coreselector_switched_to_default_core', 'solr', [$currentSolrCorePath, $this->selectedSite->getLabel(), $this->selectedSolrCoreConnection->getAdminService()->getCorePath()]);
|
||||
if (!$this->selectedMeilisearchCoreConnection instanceof MeilisearchCoreConnection && count($meilisearchCoreConnections) > 0) {
|
||||
$this->initializeFirstAvailableMeilisearchCoreConnection($meilisearchCoreConnections, $moduleData);
|
||||
$message = LocalizationUtility::translate('coreselector_switched_to_default_core', 'meilisearch', [$currentMeilisearchCorePath, $this->selectedSite->getLabel(), $this->selectedMeilisearchCoreConnection->getAdminService()->getCorePath()]);
|
||||
$this->addFlashMessage($message, '', AbstractMessage::NOTICE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param SolrCoreConnection[] $solrCoreConnections
|
||||
* @param MeilisearchCoreConnection[] $meilisearchCoreConnections
|
||||
*/
|
||||
private function initializeFirstAvailableSolrCoreConnection(array $solrCoreConnections, $moduleData)
|
||||
private function initializeFirstAvailableMeilisearchCoreConnection(array $meilisearchCoreConnections, $moduleData)
|
||||
{
|
||||
if (empty($solrCoreConnections)) {
|
||||
if (empty($meilisearchCoreConnections)) {
|
||||
return;
|
||||
}
|
||||
$this->selectedSolrCoreConnection = $solrCoreConnections[0];
|
||||
$moduleData->setCore($this->selectedSolrCoreConnection->getAdminService()->getCorePath());
|
||||
$this->selectedMeilisearchCoreConnection = $meilisearchCoreConnections[0];
|
||||
$moduleData->setCore($this->selectedMeilisearchCoreConnection->getAdminService()->getCorePath());
|
||||
$this->moduleDataStorageService->persistModuleData($moduleData);
|
||||
}
|
||||
}
|
||||
|
@@ -4,7 +4,7 @@ namespace WapplerSystems\Meilisearch\Controller\Backend\Search;
|
||||
/***************************************************************
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2010-2017 dkd Internet Service GmbH <solrs-support@dkd.de>
|
||||
* (c) 2010-2017 dkd Internet Service GmbH <meilisearchs-support@dkd.de>
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
@@ -60,13 +60,13 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
*/
|
||||
public function indexAction()
|
||||
{
|
||||
if ($this->selectedSolrCoreConnection === null) {
|
||||
if ($this->selectedMeilisearchCoreConnection === null) {
|
||||
$this->view->assign('can_not_proceed', true);
|
||||
return;
|
||||
}
|
||||
|
||||
$synonyms = [];
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
$rawSynonyms = $coreAdmin->getSynonyms();
|
||||
foreach ($rawSynonyms as $baseWord => $synonymList) {
|
||||
$synonyms[$baseWord] = implode(', ', $synonymList);
|
||||
@@ -100,7 +100,7 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
$baseWord = mb_strtolower($baseWord);
|
||||
$synonyms = mb_strtolower($synonyms);
|
||||
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
if ($overrideExisting && $coreAdmin->getSynonyms($baseWord)) {
|
||||
$coreAdmin->deleteSynonym($baseWord);
|
||||
}
|
||||
@@ -121,7 +121,7 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
*/
|
||||
public function exportStopWordsAction($fileFormat = 'txt')
|
||||
{
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
$this->exportFile(
|
||||
implode(PHP_EOL, $coreAdmin->getStopWords()),
|
||||
'stopwords',
|
||||
@@ -137,7 +137,7 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
*/
|
||||
public function exportSynonymsAction($fileFormat = 'txt')
|
||||
{
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
$synonyms = $coreAdmin->getSynonyms();
|
||||
return $this->exportFile(ManagedResourcesUtility::exportSynonymsToTxt($synonyms), 'synonyms', $fileFormat);
|
||||
}
|
||||
@@ -157,7 +157,7 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
$fileLines = ManagedResourcesUtility::importSynonymsFromPlainTextContents($synonymFileUpload);
|
||||
$synonymCount = 0;
|
||||
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
foreach ($fileLines as $baseWord => $synonyms) {
|
||||
if (!isset($baseWord) || empty($synonyms)) {
|
||||
continue;
|
||||
@@ -197,7 +197,7 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
{
|
||||
$allSynonymsCouldBeDeleted = $this->deleteAllSynonyms();
|
||||
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
$reloadResponse = $coreAdmin->reloadCore();
|
||||
|
||||
if ($allSynonymsCouldBeDeleted
|
||||
@@ -223,7 +223,7 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
*/
|
||||
public function deleteSynonymsAction($baseWord)
|
||||
{
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
$deleteResponse = $coreAdmin->deleteSynonym($baseWord);
|
||||
$reloadResponse = $coreAdmin->reloadCore();
|
||||
|
||||
@@ -245,7 +245,7 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the edited stop word list to Solr
|
||||
* Saves the edited stop word list to Meilisearch
|
||||
*
|
||||
* @param string $stopWords
|
||||
* @param bool $replaceStopwords
|
||||
@@ -257,7 +257,7 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
$newStopWords = mb_strtolower($stopWords);
|
||||
$newStopWords = GeneralUtility::trimExplode("\n", $newStopWords, true);
|
||||
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
$oldStopWords = $coreAdmin->getStopWords();
|
||||
|
||||
if ($replaceStopwords) {
|
||||
@@ -292,7 +292,7 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
*/
|
||||
protected function exportFile($content, $type = 'synonyms', $fileExtension = 'txt') : string
|
||||
{
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
|
||||
$this->response->setHeader('Content-type', 'text/plain', true);
|
||||
$this->response->setHeader('Cache-control', 'public', true);
|
||||
@@ -322,13 +322,13 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete complete synonym list form solr
|
||||
* Delete complete synonym list form meilisearch
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
protected function deleteAllSynonyms() : bool
|
||||
{
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
$synonyms = $coreAdmin->getSynonyms();
|
||||
$allSynonymsCouldBeDeleted = true;
|
||||
|
||||
@@ -347,7 +347,7 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
protected function removeStopsWordsFromIndex($stopwordsToRemove) : bool
|
||||
{
|
||||
$wordsRemoved = true;
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
|
||||
foreach ($stopwordsToRemove as $word) {
|
||||
$response = $coreAdmin->deleteStopWord($word);
|
||||
@@ -373,7 +373,7 @@ class CoreOptimizationModuleController extends AbstractModuleController
|
||||
*/
|
||||
protected function deleteExistingSynonym($overrideExisting, $deleteSynonymsBefore, $baseWord)
|
||||
{
|
||||
$coreAdmin = $this->selectedSolrCoreConnection->getAdminService();
|
||||
$coreAdmin = $this->selectedMeilisearchCoreConnection->getAdminService();
|
||||
|
||||
if (!$deleteSynonymsBefore &&
|
||||
$overrideExisting &&
|
||||
|
@@ -26,7 +26,7 @@ namespace WapplerSystems\Meilisearch\Controller\Backend\Search;
|
||||
|
||||
use WapplerSystems\Meilisearch\ConnectionManager;
|
||||
use WapplerSystems\Meilisearch\IndexQueue\Queue;
|
||||
use WapplerSystems\Meilisearch\System\Solr\SolrConnection;
|
||||
use WapplerSystems\Meilisearch\System\Meilisearch\MeilisearchConnection;
|
||||
use WapplerSystems\Meilisearch\Util;
|
||||
use TYPO3\CMS\Backend\Routing\UriBuilder as BackendUriBuilder;
|
||||
use TYPO3\CMS\Core\Messaging\FlashMessage;
|
||||
@@ -50,14 +50,14 @@ class IndexAdministrationModuleController extends AbstractModuleController
|
||||
/**
|
||||
* @var ConnectionManager
|
||||
*/
|
||||
protected $solrConnectionManager = null;
|
||||
protected $meilisearchConnectionManager = null;
|
||||
|
||||
/**
|
||||
* @param ConnectionManager $solrConnectionManager
|
||||
* @param ConnectionManager $meilisearchConnectionManager
|
||||
*/
|
||||
public function setSolrConnectionManager(ConnectionManager $solrConnectionManager)
|
||||
public function setMeilisearchConnectionManager(ConnectionManager $meilisearchConnectionManager)
|
||||
{
|
||||
$this->solrConnectionManager = $solrConnectionManager;
|
||||
$this->meilisearchConnectionManager = $meilisearchConnectionManager;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -67,7 +67,7 @@ class IndexAdministrationModuleController extends AbstractModuleController
|
||||
{
|
||||
parent::initializeAction();
|
||||
$this->indexQueue = GeneralUtility::makeInstance(Queue::class);
|
||||
$this->solrConnectionManager = GeneralUtility::makeInstance(ConnectionManager::class);
|
||||
$this->meilisearchConnectionManager = GeneralUtility::makeInstance(ConnectionManager::class);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -77,7 +77,7 @@ class IndexAdministrationModuleController extends AbstractModuleController
|
||||
*/
|
||||
public function indexAction()
|
||||
{
|
||||
if ($this->selectedSite === null || empty($this->solrConnectionManager->getConnectionsBySite($this->selectedSite))) {
|
||||
if ($this->selectedSite === null || empty($this->meilisearchConnectionManager->getConnectionsBySite($this->selectedSite))) {
|
||||
$this->view->assign('can_not_proceed', true);
|
||||
}
|
||||
}
|
||||
@@ -93,18 +93,18 @@ class IndexAdministrationModuleController extends AbstractModuleController
|
||||
|
||||
try {
|
||||
$affectedCores = [];
|
||||
$solrServers = $this->solrConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
foreach ($solrServers as $solrServer) {
|
||||
$writeService = $solrServer->getWriteService();
|
||||
/* @var $solrServer SolrConnection */
|
||||
$meilisearchServers = $this->meilisearchConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
foreach ($meilisearchServers as $meilisearchServer) {
|
||||
$writeService = $meilisearchServer->getWriteService();
|
||||
/* @var $meilisearchServer MeilisearchConnection */
|
||||
$writeService->deleteByQuery('siteHash:' . $siteHash);
|
||||
$writeService->commit(false, false, false);
|
||||
$affectedCores[] = $writeService->getPrimaryEndpoint()->getCore();
|
||||
}
|
||||
$message = LocalizationUtility::translate('solr.backend.index_administration.index_emptied_all', 'Solr', [$this->selectedSite->getLabel(), implode(', ', $affectedCores)]);
|
||||
$message = LocalizationUtility::translate('meilisearch.backend.index_administration.index_emptied_all', 'Meilisearch', [$this->selectedSite->getLabel(), implode(', ', $affectedCores)]);
|
||||
$this->addFlashMessage($message);
|
||||
} catch (\Exception $e) {
|
||||
$this->addFlashMessage(LocalizationUtility::translate('solr.backend.index_administration.error.on_empty_index', 'Solr', [$e->__toString()]), '', FlashMessage::ERROR);
|
||||
$this->addFlashMessage(LocalizationUtility::translate('meilisearch.backend.index_administration.error.on_empty_index', 'Meilisearch', [$e->__toString()]), '', FlashMessage::ERROR);
|
||||
}
|
||||
|
||||
$this->redirect('index');
|
||||
@@ -119,14 +119,14 @@ class IndexAdministrationModuleController extends AbstractModuleController
|
||||
{
|
||||
$this->indexQueue->deleteItemsBySite($this->selectedSite);
|
||||
$this->addFlashMessage(
|
||||
LocalizationUtility::translate('solr.backend.index_administration.success.queue_emptied', 'Solr',
|
||||
LocalizationUtility::translate('meilisearch.backend.index_administration.success.queue_emptied', 'Meilisearch',
|
||||
[$this->selectedSite->getLabel()])
|
||||
);
|
||||
$this->redirectToReferrerModule();
|
||||
}
|
||||
|
||||
/**
|
||||
* Reloads the site's Solr cores.
|
||||
* Reloads the site's Meilisearch cores.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
@@ -134,11 +134,11 @@ class IndexAdministrationModuleController extends AbstractModuleController
|
||||
{
|
||||
$coresReloaded = true;
|
||||
$reloadedCores = [];
|
||||
$solrServers = $this->solrConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
$meilisearchServers = $this->meilisearchConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
|
||||
foreach ($solrServers as $solrServer) {
|
||||
/* @var $solrServer SolrConnection */
|
||||
$coreAdmin = $solrServer->getAdminService();
|
||||
foreach ($meilisearchServers as $meilisearchServer) {
|
||||
/* @var $meilisearchServer MeilisearchConnection */
|
||||
$coreAdmin = $meilisearchServer->getAdminService();
|
||||
$coreReloaded = $coreAdmin->reloadCore()->getHttpStatus() === 200;
|
||||
|
||||
$coreName = $coreAdmin->getPrimaryEndpoint()->getCore();
|
||||
@@ -188,7 +188,7 @@ class IndexAdministrationModuleController extends AbstractModuleController
|
||||
$backendUriBuilder = GeneralUtility::makeInstance(BackendUriBuilder::class);
|
||||
|
||||
$parameters = ['id' => $this->selectedPageUID];
|
||||
$referringUri = $backendUriBuilder->buildUriFromRoute('searchbackend_SolrIndexqueue', $parameters);
|
||||
$referringUri = $backendUriBuilder->buildUriFromRoute('searchbackend_MeilisearchIndexqueue', $parameters);
|
||||
|
||||
$this->redirectToUri($referringUri);
|
||||
}
|
||||
|
@@ -114,10 +114,10 @@ class IndexQueueModuleController extends AbstractModuleController
|
||||
*/
|
||||
protected function canQueueSelectedSite()
|
||||
{
|
||||
if ($this->selectedSite === null || empty($this->solrConnectionManager->getConnectionsBySite($this->selectedSite))) {
|
||||
if ($this->selectedSite === null || empty($this->meilisearchConnectionManager->getConnectionsBySite($this->selectedSite))) {
|
||||
return false;
|
||||
}
|
||||
$enabledIndexQueueConfigurationNames = $this->selectedSite->getSolrConfiguration()->getEnabledIndexQueueConfigurationNames();
|
||||
$enabledIndexQueueConfigurationNames = $this->selectedSite->getMeilisearchConfiguration()->getEnabledIndexQueueConfigurationNames();
|
||||
if (empty($enabledIndexQueueConfigurationNames)) {
|
||||
return false;
|
||||
}
|
||||
@@ -153,11 +153,11 @@ class IndexQueueModuleController extends AbstractModuleController
|
||||
// initialize selected indexing configuration
|
||||
$initializedIndexingConfigurations = $this->indexQueue->getInitializationService()->initializeBySiteAndIndexConfigurations($this->selectedSite, $indexingConfigurationsToInitialize);
|
||||
} else {
|
||||
$messageLabel = 'solr.backend.index_queue_module.flashmessage.initialize.no_selection';
|
||||
$titleLabel = 'solr.backend.index_queue_module.flashmessage.not_initialized.title';
|
||||
$messageLabel = 'meilisearch.backend.index_queue_module.flashmessage.initialize.no_selection';
|
||||
$titleLabel = 'meilisearch.backend.index_queue_module.flashmessage.not_initialized.title';
|
||||
$this->addFlashMessage(
|
||||
LocalizationUtility::translate($messageLabel, 'Solr'),
|
||||
LocalizationUtility::translate($titleLabel, 'Solr'),
|
||||
LocalizationUtility::translate($messageLabel, 'Meilisearch'),
|
||||
LocalizationUtility::translate($titleLabel, 'Meilisearch'),
|
||||
FlashMessage::WARNING
|
||||
);
|
||||
}
|
||||
@@ -168,11 +168,11 @@ class IndexQueueModuleController extends AbstractModuleController
|
||||
}
|
||||
|
||||
if (!empty($initializedIndexingConfigurations)) {
|
||||
$messageLabel = 'solr.backend.index_queue_module.flashmessage.initialize.success';
|
||||
$titleLabel = 'solr.backend.index_queue_module.flashmessage.initialize.title';
|
||||
$messageLabel = 'meilisearch.backend.index_queue_module.flashmessage.initialize.success';
|
||||
$titleLabel = 'meilisearch.backend.index_queue_module.flashmessage.initialize.title';
|
||||
$this->addFlashMessage(
|
||||
LocalizationUtility::translate($messageLabel, 'Solr', [implode(', ', $messagesForConfigurations)]),
|
||||
LocalizationUtility::translate($titleLabel, 'Solr'),
|
||||
LocalizationUtility::translate($messageLabel, 'Meilisearch', [implode(', ', $messagesForConfigurations)]),
|
||||
LocalizationUtility::translate($titleLabel, 'Meilisearch'),
|
||||
FlashMessage::OK
|
||||
);
|
||||
}
|
||||
@@ -189,10 +189,10 @@ class IndexQueueModuleController extends AbstractModuleController
|
||||
{
|
||||
$resetResult = $this->indexQueue->resetAllErrors();
|
||||
|
||||
$label = 'solr.backend.index_queue_module.flashmessage.success.reset_errors';
|
||||
$label = 'meilisearch.backend.index_queue_module.flashmessage.success.reset_errors';
|
||||
$severity = FlashMessage::OK;
|
||||
if (!$resetResult) {
|
||||
$label = 'solr.backend.index_queue_module.flashmessage.error.reset_errors';
|
||||
$label = 'meilisearch.backend.index_queue_module.flashmessage.error.reset_errors';
|
||||
$severity = FlashMessage::ERROR;
|
||||
}
|
||||
|
||||
@@ -211,12 +211,12 @@ class IndexQueueModuleController extends AbstractModuleController
|
||||
*/
|
||||
public function requeueDocumentAction(string $type, int $uid)
|
||||
{
|
||||
$label = 'solr.backend.index_queue_module.flashmessage.error.single_item_not_requeued';
|
||||
$label = 'meilisearch.backend.index_queue_module.flashmessage.error.single_item_not_requeued';
|
||||
$severity = FlashMessage::ERROR;
|
||||
|
||||
$updateCount = $this->indexQueue->updateItem($type, $uid, time());
|
||||
if ($updateCount > 0) {
|
||||
$label = 'solr.backend.index_queue_module.flashmessage.success.single_item_was_requeued';
|
||||
$label = 'meilisearch.backend.index_queue_module.flashmessage.success.single_item_was_requeued';
|
||||
$severity = FlashMessage::OK;
|
||||
}
|
||||
|
||||
@@ -235,7 +235,7 @@ class IndexQueueModuleController extends AbstractModuleController
|
||||
{
|
||||
if (is_null($indexQueueItemId)) {
|
||||
// add a flash message and quit
|
||||
$label = 'solr.backend.index_queue_module.flashmessage.error.no_queue_item_for_queue_error';
|
||||
$label = 'meilisearch.backend.index_queue_module.flashmessage.error.no_queue_item_for_queue_error';
|
||||
$severity = FlashMessage::ERROR;
|
||||
$this->addIndexQueueFlashMessage($label, $severity);
|
||||
|
||||
@@ -258,16 +258,16 @@ class IndexQueueModuleController extends AbstractModuleController
|
||||
$indexService = GeneralUtility::makeInstance(IndexService::class, /** @scrutinizer ignore-type */ $this->selectedSite);
|
||||
$indexWithoutErrors = $indexService->indexItems(10);
|
||||
|
||||
$label = 'solr.backend.index_queue_module.flashmessage.success.index_manual';
|
||||
$label = 'meilisearch.backend.index_queue_module.flashmessage.success.index_manual';
|
||||
$severity = FlashMessage::OK;
|
||||
if (!$indexWithoutErrors) {
|
||||
$label = 'solr.backend.index_queue_module.flashmessage.error.index_manual';
|
||||
$label = 'meilisearch.backend.index_queue_module.flashmessage.error.index_manual';
|
||||
$severity = FlashMessage::ERROR;
|
||||
}
|
||||
|
||||
$this->addFlashMessage(
|
||||
LocalizationUtility::translate($label, 'Solr'),
|
||||
LocalizationUtility::translate('solr.backend.index_queue_module.flashmessage.index_manual', 'Solr'),
|
||||
LocalizationUtility::translate($label, 'Meilisearch'),
|
||||
LocalizationUtility::translate('meilisearch.backend.index_queue_module.flashmessage.index_manual', 'Meilisearch'),
|
||||
$severity
|
||||
);
|
||||
|
||||
@@ -282,6 +282,6 @@ class IndexQueueModuleController extends AbstractModuleController
|
||||
*/
|
||||
protected function addIndexQueueFlashMessage($label, $severity)
|
||||
{
|
||||
$this->addFlashMessage(LocalizationUtility::translate($label, 'Solr'), LocalizationUtility::translate('solr.backend.index_queue_module.flashmessage.title', 'Solr'), $severity);
|
||||
$this->addFlashMessage(LocalizationUtility::translate($label, 'Meilisearch'), LocalizationUtility::translate('meilisearch.backend.index_queue_module.flashmessage.title', 'Meilisearch'), $severity);
|
||||
}
|
||||
}
|
||||
|
@@ -4,7 +4,7 @@ namespace WapplerSystems\Meilisearch\Controller\Backend\Search;
|
||||
/***************************************************************
|
||||
* Copyright notice
|
||||
*
|
||||
* (c) 2010-2017 dkd Internet Service GmbH <solr-support@dkd.de>
|
||||
* (c) 2010-2017 dkd Internet Service GmbH <meilisearch-support@dkd.de>
|
||||
* All rights reserved
|
||||
*
|
||||
* This script is part of the TYPO3 project. The TYPO3 project is
|
||||
@@ -27,8 +27,8 @@ namespace WapplerSystems\Meilisearch\Controller\Backend\Search;
|
||||
use WapplerSystems\Meilisearch\Api;
|
||||
use WapplerSystems\Meilisearch\ConnectionManager;
|
||||
use WapplerSystems\Meilisearch\Domain\Search\Statistics\StatisticsRepository;
|
||||
use WapplerSystems\Meilisearch\Domain\Search\ApacheSolrDocument\Repository;
|
||||
use WapplerSystems\Meilisearch\System\Solr\ResponseAdapter;
|
||||
use WapplerSystems\Meilisearch\Domain\Search\ApacheMeilisearchDocument\Repository;
|
||||
use WapplerSystems\Meilisearch\System\Meilisearch\ResponseAdapter;
|
||||
use WapplerSystems\Meilisearch\System\Validator\Path;
|
||||
use TYPO3\CMS\Backend\Template\ModuleTemplate;
|
||||
use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
|
||||
@@ -46,12 +46,12 @@ class InfoModuleController extends AbstractModuleController
|
||||
/**
|
||||
* @var ConnectionManager
|
||||
*/
|
||||
protected $solrConnectionManager;
|
||||
protected $meilisearchConnectionManager;
|
||||
|
||||
/**
|
||||
* @var Repository
|
||||
*/
|
||||
protected $apacheSolrDocumentRepository;
|
||||
protected $apacheMeilisearchDocumentRepository;
|
||||
|
||||
/**
|
||||
* Initializes the controller before invoking an action method.
|
||||
@@ -59,8 +59,8 @@ class InfoModuleController extends AbstractModuleController
|
||||
protected function initializeAction()
|
||||
{
|
||||
parent::initializeAction();
|
||||
$this->solrConnectionManager = GeneralUtility::makeInstance(ConnectionManager::class);
|
||||
$this->apacheSolrDocumentRepository = GeneralUtility::makeInstance(Repository::class);
|
||||
$this->meilisearchConnectionManager = GeneralUtility::makeInstance(ConnectionManager::class);
|
||||
//$this->apacheMeilisearchDocumentRepository = GeneralUtility::makeInstance(Repository::class);
|
||||
|
||||
}
|
||||
/**
|
||||
@@ -80,7 +80,7 @@ class InfoModuleController extends AbstractModuleController
|
||||
}
|
||||
|
||||
/**
|
||||
* Index action, shows an overview of the state of the Solr index
|
||||
* Index action, shows an overview of the state of the Meilisearch index
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
@@ -106,12 +106,12 @@ class InfoModuleController extends AbstractModuleController
|
||||
*/
|
||||
public function documentsDetailsAction(string $type, int $uid, int $pageId, int $languageUid)
|
||||
{
|
||||
$documents = $this->apacheSolrDocumentRepository->findByTypeAndPidAndUidAndLanguageId($type, $uid, $pageId, $languageUid);
|
||||
$documents = $this->apacheMeilisearchDocumentRepository->findByTypeAndPidAndUidAndLanguageId($type, $uid, $pageId, $languageUid);
|
||||
$this->view->assign('documents', $documents);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether the configured Solr server can be reached and provides a
|
||||
* Checks whether the configured Meilisearch server can be reached and provides a
|
||||
* flash message according to the result of the check.
|
||||
*
|
||||
* @return void
|
||||
@@ -124,7 +124,7 @@ class InfoModuleController extends AbstractModuleController
|
||||
|
||||
/* @var Path $path */
|
||||
$path = GeneralUtility::makeInstance(Path::class);
|
||||
$connections = $this->solrConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
$connections = $this->meilisearchConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
|
||||
if (empty($connections)) {
|
||||
$this->view->assign('can_not_proceed', true);
|
||||
@@ -141,7 +141,7 @@ class InfoModuleController extends AbstractModuleController
|
||||
$missingHosts[] = $coreUrl;
|
||||
}
|
||||
|
||||
if (!$path->isValidSolrPath($coreAdmin->getCorePath())) {
|
||||
if (!$path->isValidMeilisearchPath($coreAdmin->getCorePath())) {
|
||||
$invalidPaths[] = $coreAdmin->getCorePath();
|
||||
}
|
||||
}
|
||||
@@ -156,7 +156,7 @@ class InfoModuleController extends AbstractModuleController
|
||||
}
|
||||
|
||||
/**
|
||||
* Index action, shows an overview of the state of the Solr index
|
||||
* Index action, shows an overview of the state of the Meilisearch index
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
@@ -204,9 +204,9 @@ class InfoModuleController extends AbstractModuleController
|
||||
{
|
||||
$indexFieldsInfoByCorePaths = [];
|
||||
|
||||
$solrCoreConnections = $this->solrConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
foreach ($solrCoreConnections as $solrCoreConnection) {
|
||||
$coreAdmin = $solrCoreConnection->getAdminService();
|
||||
$meilisearchCoreConnections = $this->meilisearchConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
foreach ($meilisearchCoreConnections as $meilisearchCoreConnection) {
|
||||
$coreAdmin = $meilisearchCoreConnection->getAdminService();
|
||||
|
||||
$indexFieldsInfo = [
|
||||
'corePath' => $coreAdmin->getCorePath()
|
||||
@@ -239,7 +239,7 @@ class InfoModuleController extends AbstractModuleController
|
||||
|
||||
$this->addFlashMessage(
|
||||
'',
|
||||
'Unable to contact Apache Solr server: ' . $this->selectedSite->getLabel() . ' ' . $coreAdmin->getCorePath(),
|
||||
'Unable to contact Meilisearch server: ' . $this->selectedSite->getLabel() . ' ' . $coreAdmin->getCorePath(),
|
||||
FlashMessage::ERROR
|
||||
);
|
||||
}
|
||||
@@ -255,11 +255,11 @@ class InfoModuleController extends AbstractModuleController
|
||||
*/
|
||||
protected function collectIndexInspectorInfo()
|
||||
{
|
||||
$solrCoreConnections = $this->solrConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
$meilisearchCoreConnections = $this->meilisearchConnectionManager->getConnectionsBySite($this->selectedSite);
|
||||
$documentsByCoreAndType = [];
|
||||
foreach ($solrCoreConnections as $languageId => $solrCoreConnection) {
|
||||
$coreAdmin = $solrCoreConnection->getAdminService();
|
||||
$documents = $this->apacheSolrDocumentRepository->findByPageIdAndByLanguageId($this->selectedPageUID, $languageId);
|
||||
foreach ($meilisearchCoreConnections as $languageId => $meilisearchCoreConnection) {
|
||||
$coreAdmin = $meilisearchCoreConnection->getAdminService();
|
||||
$documents = $this->apacheMeilisearchDocumentRepository->findByPageIdAndByLanguageId($this->selectedPageUID, $languageId);
|
||||
|
||||
$documentsByType = [];
|
||||
foreach ($documents as $document) {
|
||||
|
@@ -15,8 +15,8 @@ namespace WapplerSystems\Meilisearch\Controller;
|
||||
*/
|
||||
|
||||
use WapplerSystems\Meilisearch\Domain\Search\ResultSet\SearchResultSet;
|
||||
use WapplerSystems\Meilisearch\System\Logging\SolrLogManager;
|
||||
use WapplerSystems\Meilisearch\System\Solr\SolrUnavailableException;
|
||||
use WapplerSystems\Meilisearch\System\Logging\MeilisearchLogManager;
|
||||
use WapplerSystems\Meilisearch\System\Meilisearch\MeilisearchUnavailableException;
|
||||
use WapplerSystems\Meilisearch\Util;
|
||||
use TYPO3\CMS\Extbase\Mvc\View\ViewInterface;
|
||||
use TYPO3\CMS\Extbase\Mvc\Web\Response;
|
||||
@@ -115,8 +115,8 @@ class SearchController extends AbstractBaseController
|
||||
$values = $this->emitActionSignal(__CLASS__, __FUNCTION__, [$values]);
|
||||
|
||||
$this->view->assignMultiple($values);
|
||||
} catch (SolrUnavailableException $e) {
|
||||
$this->handleSolrUnavailable();
|
||||
} catch (MeilisearchUnavailableException $e) {
|
||||
$this->handleMeilisearchUnavailable();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ class SearchController extends AbstractBaseController
|
||||
}
|
||||
|
||||
/**
|
||||
* This action allows to render a detailView with data from solr.
|
||||
* This action allows to render a detailView with data from meilisearch.
|
||||
*
|
||||
* @param string $documentId
|
||||
*/
|
||||
@@ -170,8 +170,8 @@ class SearchController extends AbstractBaseController
|
||||
try {
|
||||
$document = $this->searchService->getDocumentById($documentId);
|
||||
$this->view->assign('document', $document);
|
||||
} catch (SolrUnavailableException $e) {
|
||||
$this->handleSolrUnavailable();
|
||||
} catch (MeilisearchUnavailableException $e) {
|
||||
$this->handleMeilisearchUnavailable();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -179,7 +179,7 @@ class SearchController extends AbstractBaseController
|
||||
* Rendered when no search is available.
|
||||
* @return string
|
||||
*/
|
||||
public function solrNotAvailableAction()
|
||||
public function meilisearchNotAvailableAction()
|
||||
{
|
||||
if ($this->response instanceof Response) {
|
||||
$this->response->setStatus(503);
|
||||
@@ -187,14 +187,14 @@ class SearchController extends AbstractBaseController
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the solr server is unavailable.
|
||||
* Called when the meilisearch server is unavailable.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function handleSolrUnavailable()
|
||||
protected function handleMeilisearchUnavailable()
|
||||
{
|
||||
parent::handleSolrUnavailable();
|
||||
$this->forward('solrNotAvailable');
|
||||
parent::handleMeilisearchUnavailable();
|
||||
$this->forward('meilisearchNotAvailable');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -26,7 +26,7 @@ namespace WapplerSystems\Meilisearch\Controller;
|
||||
***************************************************************/
|
||||
|
||||
use WapplerSystems\Meilisearch\Domain\Search\Suggest\SuggestService;
|
||||
use WapplerSystems\Meilisearch\System\Solr\SolrUnavailableException;
|
||||
use WapplerSystems\Meilisearch\System\Meilisearch\MeilisearchUnavailableException;
|
||||
use WapplerSystems\Meilisearch\Util;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
|
||||
@@ -66,16 +66,14 @@ class SuggestController extends AbstractBaseController
|
||||
|
||||
$searchRequest = $this->getSearchRequestBuilder()->buildForSuggest($arguments, $rawQuery, $pageId, $languageId);
|
||||
$result = $suggestService->getSuggestions($searchRequest, $additionalFilters);
|
||||
} catch (SolrUnavailableException $e) {
|
||||
$this->handleSolrUnavailable();
|
||||
} catch (MeilisearchUnavailableException $e) {
|
||||
$this->handleMeilisearchUnavailable();
|
||||
$result = ['status' => false];
|
||||
}
|
||||
if ($callback) {
|
||||
return htmlspecialchars($callback) . '(' . json_encode($result) . ')';
|
||||
}
|
||||
else {
|
||||
return json_encode($result);
|
||||
}
|
||||
return json_encode($result);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user