You are here

protected function SearchApiElasticsearchBackend::getFacetSearchFilter in Elasticsearch Connector 8.7

Same name and namespace in other branches
  1. 8 src/Plugin/search_api/backend/SearchApiElasticsearchBackend.php \Drupal\elasticsearch_connector\Plugin\search_api\backend\SearchApiElasticsearchBackend::getFacetSearchFilter()
  2. 8.2 src/Plugin/search_api/backend/SearchApiElasticsearchBackend.php \Drupal\elasticsearch_connector\Plugin\search_api\backend\SearchApiElasticsearchBackend::getFacetSearchFilter()
  3. 8.5 src/Plugin/search_api/backend/SearchApiElasticsearchBackend.php \Drupal\elasticsearch_connector\Plugin\search_api\backend\SearchApiElasticsearchBackend::getFacetSearchFilter()
  4. 8.6 src/Plugin/search_api/backend/SearchApiElasticsearchBackend.php \Drupal\elasticsearch_connector\Plugin\search_api\backend\SearchApiElasticsearchBackend::getFacetSearchFilter()

Helper function return Facet filter.

Parameters

\Drupal\search_api\Query\QueryInterface $query: The query interface parameter.

array $facet_info: The facet info parameter.

Return value

array|null|string Returns facet filter.

1 call to SearchApiElasticsearchBackend::getFacetSearchFilter()
SearchApiElasticsearchBackend::addFacetOptions in src/Plugin/search_api/backend/SearchApiElasticsearchBackend.php
Helper function that adds options and returns facet.

File

src/Plugin/search_api/backend/SearchApiElasticsearchBackend.php, line 934

Class

SearchApiElasticsearchBackend
Elasticsearch Search API Backend definition.

Namespace

Drupal\elasticsearch_connector\Plugin\search_api\backend

Code

protected function getFacetSearchFilter(QueryInterface $query, array $facet_info) {
  $index_fields = $this
    ->getIndexFields($query);
  if (isset($facet_info['operator']) && mb_strtolower($facet_info['operator']) == 'or') {
    $facet_search_filter = $this
      ->parseConditionGroup($query
      ->getConditionGroup(), $index_fields, $facet_info['field']);
    if (!empty($facet_search_filter)) {
      $facet_search_filter = $facet_search_filter[0];
    }
  }
  else {
    $facet_search_filter = $this
      ->parseConditionGroup($query
      ->getConditionGroup(), $index_fields);
    if (!empty($facet_search_filter)) {
      $facet_search_filter = $facet_search_filter[0];
    }
  }
  return $facet_search_filter;
}