Smile\ElasticsuiteCore\Search\Adapter\Elasticsuite\Request\Query\Builder\MultiMatch::buildQuery PHP Метод

buildQuery() публичный Метод

{@inheritDoc}
public buildQuery ( Smile\ElasticsuiteCore\Search\Request\QueryInterface $query )
$query Smile\ElasticsuiteCore\Search\Request\QueryInterface
    public function buildQuery(QueryInterface $query)
    {
        $fields = [];
        foreach ($query->getFields() as $field => $weight) {
            $fields[] = sprintf("%s^%s", $field, $weight);
        }
        $searchQueryParams = ['query' => $query->getQueryText(), 'fields' => $fields, 'minimum_should_match' => $query->getMinimumShouldMatch(), 'tie_breaker' => $query->getTieBreaker(), 'boost' => $query->getBoost()];
        if ($query->getMatchType()) {
            $searchQueryParams['type'] = $query->getMatchType();
        }
        if ($query->getCutoffFrequency()) {
            $searchQueryParams['cutoff_frequency'] = $query->getCutoffFrequency();
        }
        if ($query->getFuzzinessConfiguration()) {
            $searchQueryParams['fuzziness'] = $query->getFuzzinessConfiguration()->getValue();
            $searchQueryParams['prefix_length'] = $query->getFuzzinessConfiguration()->getPrefixLength();
            $searchQueryParams['max_expansions'] = $query->getFuzzinessConfiguration()->getMaxExpansion();
        }
        return ['multi_match' => $searchQueryParams];
    }
MultiMatch