eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitor\FieldFilterBase::getFieldFilter PHP Method

getFieldFilter() protected method

Filter is to be used by both query and filter visiting, as it should not impact scoring. Null will be returned if nothing is found to be filtered.
protected getFieldFilter ( array $languageFilter ) : array | null
$languageFilter array
return array | null
    protected function getFieldFilter(array $languageFilter)
    {
        $filter = null;
        // Only 'languages' and 'useAlwaysAvailable' are available,
        // latter making sense only when former is set.
        if (!empty($languageFilter['languages'])) {
            // For 'terms' filter caching is enabled by default
            $filter = array('terms' => array('fields_doc.meta_language_code_s' => $languageFilter['languages']));
            if (!isset($languageFilter['useAlwaysAvailable']) || $languageFilter['useAlwaysAvailable'] === true) {
                $filter = array('or' => array('filters' => array($filter, array('term' => array('meta_is_always_available_b' => true))), '_cache' => true));
            }
        }
        return $filter;
    }