eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitor\Field\FieldIn::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)
    {
        $fieldNames = $this->getFieldNames($criterion, $criterion->target);
        $values = (array) $criterion->value;
        if (empty($fieldNames)) {
            throw new InvalidArgumentException('$criterion->target', "No searchable fields found for the given criterion target '{$criterion->target}'.");
        }
        $fields = array();
        foreach ($fieldNames as $name) {
            $fields[] = 'fields_doc.' . $name;
        }
        $terms = array();
        foreach ($values as $value) {
            $terms[] = array('multi_match' => array('query' => $value, 'fields' => $fields));
        }
        return array('bool' => array('should' => $terms, 'minimum_should_match' => 1));
    }