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;
}