public createQuery ( Smile\ElasticsuiteCore\Api\Search\Request\ContainerConfigurationInterface $containerConfiguration, string | null $queryText, array $filters, string $spellingType ) : Smile\ElasticsuiteCore\Search\Request\QueryInterface | ||
$containerConfiguration | Smile\ElasticsuiteCore\Api\Search\Request\ContainerConfigurationInterface | Search request container configuration. |
$queryText | string | null | Fulltext query. |
$filters | array | Filter part of the query. |
$spellingType | string | For fulltext query : the type of spellchecked applied. |
return | Smile\ElasticsuiteCore\Search\Request\QueryInterface |
public function createQuery(ContainerConfigurationInterface $containerConfiguration, $queryText, array $filters, $spellingType)
{
$queryParams = [];
if (!empty($filters)) {
$queryParams = ['filter' => $this->filterQueryBuilder->create($containerConfiguration, $filters)];
}
if ($queryText) {
$queryParams['query'] = $this->fulltextQueryBuilder->create($containerConfiguration, $queryText, $spellingType);
}
return $this->queryFactory->create(QueryInterface::TYPE_FILTER, $queryParams);
}