first commit
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
namespace WapplerSystems\Meilisearch\Domain\Search\ApacheSolrDocument;
|
||||
namespace WapplerSystems\Meilisearch\Domain\Search\ApacheMeilisearchDocument;
|
||||
|
||||
/***************************************************************
|
||||
* Copyright notice
|
||||
@@ -28,16 +28,16 @@ use WapplerSystems\Meilisearch\Access\Rootline;
|
||||
use WapplerSystems\Meilisearch\Domain\Site\SiteRepository;
|
||||
use WapplerSystems\Meilisearch\Domain\Variants\IdBuilder;
|
||||
use WapplerSystems\Meilisearch\Domain\Site\Site;
|
||||
use WapplerSystems\Meilisearch\System\Solr\Document\Document;
|
||||
use WapplerSystems\Meilisearch\System\Meilisearch\Document\Document;
|
||||
use WapplerSystems\Meilisearch\Typo3PageContentExtractor;
|
||||
use WapplerSystems\Meilisearch\Util;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
|
||||
|
||||
/**
|
||||
* Builder class to build an ApacheSolrDocument
|
||||
* Builder class to build an ApacheMeilisearchDocument
|
||||
*
|
||||
* Responsible to build \WapplerSystems\Meilisearch\System\Solr\Document\Document
|
||||
* Responsible to build \WapplerSystems\Meilisearch\System\Meilisearch\Document\Document
|
||||
*
|
||||
* @author Timo Hund <timo.hund@dkd.de>
|
||||
*/
|
||||
@@ -121,7 +121,7 @@ class Builder
|
||||
|
||||
|
||||
/**
|
||||
* Creates a Solr document with the basic / core fields set already.
|
||||
* Creates a Meilisearch document with the basic / core fields set already.
|
||||
*
|
||||
* @param array $itemRecord
|
||||
* @param string $type
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
namespace WapplerSystems\Meilisearch\Domain\Search\ApacheSolrDocument;
|
||||
namespace WapplerSystems\Meilisearch\Domain\Search\ApacheMeilisearchDocument;
|
||||
|
||||
/***************************************************************
|
||||
* Copyright notice
|
||||
@@ -28,12 +28,12 @@ use WapplerSystems\Meilisearch\ConnectionManager;
|
||||
use WapplerSystems\Meilisearch\Domain\Search\Query\QueryBuilder;
|
||||
use WapplerSystems\Meilisearch\Domain\Search\ResultSet\Result\Parser\DocumentEscapeService;
|
||||
use WapplerSystems\Meilisearch\Domain\Site\SiteRepository;
|
||||
use WapplerSystems\Meilisearch\NoSolrConnectionFoundException;
|
||||
use WapplerSystems\Meilisearch\NoMeilisearchConnectionFoundException;
|
||||
use WapplerSystems\Meilisearch\Search;
|
||||
use WapplerSystems\Meilisearch\System\Configuration\TypoScriptConfiguration;
|
||||
use WapplerSystems\Meilisearch\System\Solr\Document\Document;
|
||||
use WapplerSystems\Meilisearch\System\Solr\SolrCommunicationException;
|
||||
use WapplerSystems\Meilisearch\System\Solr\SolrConnection;
|
||||
use WapplerSystems\Meilisearch\System\Meilisearch\Document\Document;
|
||||
use WapplerSystems\Meilisearch\System\Meilisearch\MeilisearchCommunicationException;
|
||||
use WapplerSystems\Meilisearch\System\Meilisearch\MeilisearchConnection;
|
||||
use WapplerSystems\Meilisearch\Util;
|
||||
use TYPO3\CMS\Core\SingletonInterface;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
@@ -73,13 +73,13 @@ class Repository implements SingletonInterface
|
||||
*/
|
||||
public function __construct(DocumentEscapeService $documentEscapeService = null, TypoScriptConfiguration $typoScriptConfiguration = null, QueryBuilder $queryBuilder = null)
|
||||
{
|
||||
$this->typoScriptConfiguration = $typoScriptConfiguration ?? Util::getSolrConfiguration();
|
||||
$this->typoScriptConfiguration = $typoScriptConfiguration ?? Util::getMeilisearchConfiguration();
|
||||
$this->documentEscapeService = $documentEscapeService ?? GeneralUtility::makeInstance(DocumentEscapeService::class, /** @scrutinizer ignore-type */ $typoScriptConfiguration);
|
||||
$this->queryBuilder = $queryBuilder ?? GeneralUtility::makeInstance(QueryBuilder::class, /** @scrutinizer ignore-type */ $this->typoScriptConfiguration);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns firs found \WapplerSystems\Meilisearch\System\Solr\Document\Document for current page by given language id.
|
||||
* Returns firs found \WapplerSystems\Meilisearch\System\Meilisearch\Document\Document for current page by given language id.
|
||||
*
|
||||
* @param $languageId
|
||||
* @return Document|false
|
||||
@@ -91,7 +91,7 @@ class Repository implements SingletonInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all found \WapplerSystems\Meilisearch\System\Solr\Document\Document[] by given page id and language id.
|
||||
* Returns all found \WapplerSystems\Meilisearch\System\Meilisearch\Document\Document[] by given page id and language id.
|
||||
* Returns empty array if nothing found, e.g. if no language or no page(or no index for page) is present.
|
||||
*
|
||||
* @param int $pageId
|
||||
@@ -104,9 +104,9 @@ class Repository implements SingletonInterface
|
||||
$this->initializeSearch($pageId, $languageId);
|
||||
$pageQuery = $this->queryBuilder->buildPageQuery($pageId);
|
||||
$response = $this->search->search($pageQuery, 0, 10000);
|
||||
} catch (NoSolrConnectionFoundException $exception) {
|
||||
} catch (NoMeilisearchConnectionFoundException $exception) {
|
||||
return [];
|
||||
} catch (SolrCommunicationException $exception) {
|
||||
} catch (MeilisearchCommunicationException $exception) {
|
||||
return [];
|
||||
}
|
||||
$data = $response->getParsedData();
|
||||
@@ -127,9 +127,9 @@ class Repository implements SingletonInterface
|
||||
$this->initializeSearch($pageId, $languageId);
|
||||
$recordQuery = $this->queryBuilder->buildRecordQuery($type, $uid, $pageId);
|
||||
$response = $this->search->search($recordQuery, 0, 10000);
|
||||
} catch (NoSolrConnectionFoundException $exception) {
|
||||
} catch (NoMeilisearchConnectionFoundException $exception) {
|
||||
return [];
|
||||
} catch (SolrCommunicationException $exception) {
|
||||
} catch (MeilisearchCommunicationException $exception) {
|
||||
return [];
|
||||
}
|
||||
$data = $response->getParsedData();
|
||||
@@ -152,19 +152,19 @@ class Repository implements SingletonInterface
|
||||
}
|
||||
/* @var $connectionManager ConnectionManager */
|
||||
$connectionManager = GeneralUtility::makeInstance(ConnectionManager::class);
|
||||
$solrConnection = $connectionManager->getConnectionByPageId($pageId, $languageId);
|
||||
$meilisearchConnection = $connectionManager->getConnectionByPageId($pageId, $languageId);
|
||||
|
||||
$this->search = $this->getSearch($solrConnection);
|
||||
$this->search = $this->getSearch($meilisearchConnection);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves an instance of the Search object.
|
||||
*
|
||||
* @param SolrConnection $solrConnection
|
||||
* @param MeilisearchConnection $meilisearchConnection
|
||||
* @return Search
|
||||
*/
|
||||
protected function getSearch($solrConnection)
|
||||
protected function getSearch($meilisearchConnection)
|
||||
{
|
||||
return GeneralUtility::makeInstance(Search::class, /** @scrutinizer ignore-type */ $solrConnection);
|
||||
return GeneralUtility::makeInstance(Search::class, /** @scrutinizer ignore-type */ $meilisearchConnection);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user