You are here

protected function SearchApiElasticsearchQuery::getAggregationFilter in Search API Elasticsearch 7.2

Helper method to get filters for aggregations.

Parameters

array $aggregation_info:

string $field_type:

Return value

AbstractQuery

1 call to SearchApiElasticsearchQuery::getAggregationFilter()
SearchApiElasticsearchQuery::setAggregationOptions in includes/SearchApiElasticsearchQuery.inc
Configure an aggregation.

File

includes/SearchApiElasticsearchQuery.inc, line 318

Class

SearchApiElasticsearchQuery
@file

Code

protected function getAggregationFilter($aggregation_info, $field_type) {
  if (isset($aggregation_info['operator']) && drupal_strtolower($aggregation_info['operator']) === 'or') {
    $aggregation_filter = $this
      ->parseFilter($this->search_api_query
      ->getFilter(), $field_type, $aggregation_info['field']);
    if (!empty($aggregation_filter)) {
      $aggregation_filter = $aggregation_filter[0];
    }
  }
  else {
    $aggregation_filter = $this
      ->parseFilter($this->search_api_query
      ->getFilter(), $field_type);
    if (!empty($aggregation_filter)) {
      $aggregation_filter = $aggregation_filter[0];
    }
  }
  return $aggregation_filter;
}