eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitor\FullText::getCondition PHP Method

getCondition() protected method

Returns nested condition common for filter and query contexts.
protected getCondition ( eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion ) : array
$criterion eZ\Publish\API\Repository\Values\Content\Query\Criterion
return array
    protected function getCondition(Criterion $criterion)
    {
        // Add field document custom _all field
        $queryFields = array('fields_doc.meta_all_*');
        // Add boosted fields if any
        /** @var \eZ\Publish\API\Repository\Values\Content\Query\Criterion\FullText $criterion */
        foreach ($criterion->boost as $field => $boost) {
            $fieldNames = $this->getFieldNames($criterion, $field);
            foreach ($fieldNames as $fieldName) {
                $queryFields[] = sprintf("fields_doc.{$fieldName}^%.1f", $boost);
            }
        }
        $condition = array('query_string' => array('query' => $criterion->value . ($criterion->fuzziness < 1 ? '~' : ''), 'fields' => $queryFields, 'fuzziness' => $criterion->fuzziness, 'allow_leading_wildcard' => true, 'minimum_should_match' => 1, 'default_operator' => 'OR'));
        return $condition;
    }