You are here

protected function SearchApiElasticsearchBackend::getFacetSearchFilter in Elasticsearch Connector 8.2

Same name and namespace in other branches
  1. 8.7 src/Plugin/search_api/backend/SearchApiElasticsearchBackend.php \Drupal\elasticsearch_connector\Plugin\search_api\backend\SearchApiElasticsearchBackend::getFacetSearchFilter()
  2. 8 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

QueryInterface $query:

array $facet_info:

Return value

array|null|string

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

File

src/Plugin/search_api/backend/SearchApiElasticsearchBackend.php, line 601
Contains the SearchApiElasticsearchBackend object.

Class

SearchApiElasticsearchBackend
Plugin annotation @SearchApiBackend( id = "elasticsearch", label = @Translation("Elasticsearch"), description = @Translation("Index items using an Elasticsearch server.") )

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']) && Unicode::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;
}