mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-18 15:33:15 +00:00
PHRAS-3389_use-only-conceptpaths-from-selected-dbs_MASTER
fix : fixed preview was not displayed (caused by missing di)
This commit is contained in:
@@ -11,29 +11,27 @@
|
||||
|
||||
namespace Alchemy\Phrasea\SearchEngine\Elastic;
|
||||
|
||||
use Alchemy\Phrasea\Collection\Reference\CollectionReference;
|
||||
use Alchemy\Phrasea\Application;
|
||||
use Alchemy\Phrasea\Exception\LogicException;
|
||||
use Alchemy\Phrasea\Exception\RuntimeException;
|
||||
use Alchemy\Phrasea\Model\Entities\FeedEntry;
|
||||
use Alchemy\Phrasea\SearchEngine\Elastic\Indexer\RecordIndexer;
|
||||
use Alchemy\Phrasea\SearchEngine\Elastic\Search\AggregationHelper;
|
||||
use Alchemy\Phrasea\SearchEngine\Elastic\Search\FacetsResponse;
|
||||
use Alchemy\Phrasea\SearchEngine\Elastic\Search\QueryCompiler;
|
||||
use Alchemy\Phrasea\SearchEngine\Elastic\Search\QueryContext;
|
||||
use Alchemy\Phrasea\SearchEngine\Elastic\Search\QueryContextFactory;
|
||||
use Alchemy\Phrasea\SearchEngine\Elastic\Structure\Field AS ESField;
|
||||
use Alchemy\Phrasea\SearchEngine\Elastic\Structure\Field as ESField;
|
||||
use Alchemy\Phrasea\SearchEngine\Elastic\Structure\Flag;
|
||||
use Alchemy\Phrasea\SearchEngine\Elastic\Structure\GlobalStructure;
|
||||
use Alchemy\Phrasea\SearchEngine\Elastic\Structure\Structure;
|
||||
use Alchemy\Phrasea\SearchEngine\SearchEngineInterface;
|
||||
use Alchemy\Phrasea\SearchEngine\SearchEngineOptions;
|
||||
use Alchemy\Phrasea\SearchEngine\SearchEngineResult;
|
||||
use Alchemy\Phrasea\Exception\RuntimeException;
|
||||
use Alchemy\Phrasea\SearchEngine\SearchEngineStructure;
|
||||
use Alchemy\Phrasea\Utilities\Stopwatch;
|
||||
use Closure;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Alchemy\Phrasea\Model\Entities\FeedEntry;
|
||||
use Alchemy\Phrasea\Application;
|
||||
use databox_field;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Elasticsearch\Client;
|
||||
|
||||
class ElasticSearchEngine implements SearchEngineInterface
|
||||
@@ -284,9 +282,8 @@ class ElasticSearchEngine implements SearchEngineInterface
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function query($queryText, SearchEngineOptions $options = null)
|
||||
public function query($queryText, SearchEngineOptions $options)
|
||||
{
|
||||
$options = $options ?: new SearchEngineOptions();
|
||||
$context = $this->context_factory->createContext($options);
|
||||
|
||||
/** @var QueryCompiler $query_compiler */
|
||||
|
@@ -167,7 +167,7 @@ interface SearchEngineInterface
|
||||
*
|
||||
* @return SearchEngineResult
|
||||
*/
|
||||
public function query($query, SearchEngineOptions $options = null);
|
||||
public function query($query, SearchEngineOptions $options);
|
||||
|
||||
/**
|
||||
* Return an array of suggestions corresponding to the last word of the
|
||||
|
@@ -14,13 +14,12 @@ namespace Alchemy\Phrasea\SearchEngine;
|
||||
use Alchemy\Phrasea\Application;
|
||||
use Alchemy\Phrasea\Authentication\ACLProvider;
|
||||
use Alchemy\Phrasea\Authentication\Authenticator;
|
||||
use Alchemy\Phrasea\Collection\CollectionRepository;
|
||||
use Alchemy\Phrasea\Collection\Reference\CollectionReference;
|
||||
use Alchemy\Phrasea\Collection\Reference\DbalCollectionReferenceRepository;
|
||||
use Alchemy\Phrasea\Collection\Reference\CollectionReferenceRepository;
|
||||
use Assert\Assertion;
|
||||
use databox_descriptionStructure;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
||||
use databox_descriptionStructure;
|
||||
|
||||
class SearchEngineOptions
|
||||
{
|
||||
@@ -41,7 +40,7 @@ class SearchEngineOptions
|
||||
const SORT_MODE_ASC = 'asc';
|
||||
const SORT_MODE_DESC = 'desc';
|
||||
|
||||
/** @var DbalCollectionReferenceRepository $dbalCollectionReferenceRepository */
|
||||
/** @var CollectionReferenceRepository */
|
||||
private $collectionReferenceRepository;
|
||||
|
||||
/** @var string */
|
||||
@@ -455,6 +454,11 @@ class SearchEngineOptions
|
||||
return $this->date_fields;
|
||||
}
|
||||
|
||||
public function __construct(CollectionReferenceRepository $collectionReferenceRepository)
|
||||
{
|
||||
$this->collectionReferenceRepository = $collectionReferenceRepository;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates options based on a Symfony Request object
|
||||
*
|
||||
@@ -469,9 +473,7 @@ class SearchEngineOptions
|
||||
$authenticator = $app->getAuthenticator();
|
||||
$isAuthenticated = $authenticator->isAuthenticated();
|
||||
|
||||
$options = new static();
|
||||
|
||||
$options->collectionReferenceRepository = $app['repo.collection-references'];
|
||||
$options = new static($app['repo.collection-references']);
|
||||
|
||||
$options->disallowBusinessFields();
|
||||
$options->setLocale($app['locale']);
|
||||
@@ -713,7 +715,7 @@ class SearchEngineOptions
|
||||
throw new \InvalidArgumentException('SearchEngineOptions data are corrupted');
|
||||
}
|
||||
|
||||
$options = new static();
|
||||
$options = new static($app['repo.collection-references']);
|
||||
$options->disallowBusinessFields();
|
||||
|
||||
$methods = self::getHydrateMethods($app);
|
||||
|
@@ -93,7 +93,7 @@ class record_preview extends record_adapter
|
||||
throw new \LogicException('Search Engine should be provided');
|
||||
}
|
||||
if (!$options) {
|
||||
$options = new SearchEngineOptions();
|
||||
$options = new SearchEngineOptions($app['repo.collection-references']);
|
||||
}
|
||||
$options->setFirstResult($pos);
|
||||
$options->setMaxResults(1);
|
||||
@@ -197,7 +197,7 @@ class record_preview extends record_adapter
|
||||
|
||||
switch ($this->env) {
|
||||
case 'RESULT':
|
||||
$options = $this->options ?: new SearchEngineOptions();
|
||||
$options = $this->options ?: new SearchEngineOptions($this->app['repo.collection-references']);
|
||||
$options->setFirstResult(($this->pos - 3) < 0 ? 0 : ($this->pos - 3));
|
||||
$options->setMaxResults(56);
|
||||
|
||||
|
Reference in New Issue
Block a user