Smile\ElasticsuiteCore\Search\Request\Query\Fulltext\QueryBuilder::getSpellcheckedQuery PHP Метод

getSpellcheckedQuery() приватный Метод

Spellcheked query building.
private getSpellcheckedQuery ( Smile\ElasticsuiteCore\Api\Search\Request\ContainerConfigurationInterface $containerConfig, string $queryText, string $spellingType, float $boost ) : Smile\ElasticsuiteCore\Search\Request\QueryInterface
$containerConfig Smile\ElasticsuiteCore\Api\Search\Request\ContainerConfigurationInterface Search request container configuration.
$queryText string The text query.
$spellingType string The type of spellchecked applied.
$boost float Boost of the created query.
Результат Smile\ElasticsuiteCore\Search\Request\QueryInterface
    private function getSpellcheckedQuery(ContainerConfigurationInterface $containerConfig, $queryText, $spellingType, $boost)
    {
        $query = null;
        $relevanceConfig = $containerConfig->getRelevanceConfig();
        $queryClauses = [];
        if ($relevanceConfig->isFuzzinessEnabled()) {
            $queryClauses[] = $this->getFuzzyQuery($containerConfig, $queryText);
        }
        if ($relevanceConfig->isPhoneticSearchEnabled()) {
            $queryClauses[] = $this->getPhoneticQuery($containerConfig, $queryText);
        }
        if (!empty($queryClauses)) {
            $queryParams = ['should' => $queryClauses, 'boost' => $boost];
            if ($spellingType == SpellcheckerInterface::SPELLING_TYPE_MOST_FUZZY) {
                $queryParams['must'] = [$this->getWeightedSearchQuery($containerConfig, $queryText)];
            }
            $query = $this->queryFactory->create(QueryInterface::TYPE_BOOL, $queryParams);
        }
        return $query;
    }