You are here

protected function SearchApiElasticsearchAbstractService::getAggregationSearchFilter in Search API Elasticsearch 7

Helper function return Facet filter.

1 call to SearchApiElasticsearchAbstractService::getAggregationSearchFilter()
SearchApiElasticsearchElastica::addAggregationOptions in modules/elastica/includes/SearchApiElasticsearchElastica.inc
Helper function that add options and return Aggregation.

File

includes/SearchApiElasticsearchAbstractService.inc, line 583
Provides a Elasticsearch-based service class for the Search API.

Class

SearchApiElasticsearchAbstractService
Elasticsearch service abstract class.

Code

protected function getAggregationSearchFilter(SearchApiQueryInterface $query, $aggregation_info) {
  $index_fields = $this
    ->getIndexFields($query);
  $aggregation_search_filter = '';
  if (isset($aggregation_info['operator']) && drupal_strtolower($aggregation_info['operator']) == 'or') {
    $aggregation_search_filter = $this
      ->parseFilter($query
      ->getFilter(), $index_fields, $aggregation_info['field']);
    if (!empty($aggregation_search_filter)) {
      $aggregation_search_filter = $aggregation_search_filter[0];
    }
  }
  else {
    $aggregation_search_filter = $this
      ->parseFilter($query
      ->getFilter(), $index_fields);
    if (!empty($aggregation_search_filter)) {
      $aggregation_search_filter = $aggregation_search_filter[0];
    }
  }
  return $aggregation_search_filter;
}