You are here

protected function ElasticsearchViewsQuery::buildFilterArray in Elasticsearch Connector 8.7

Same name and namespace in other branches
  1. 8.2 modules/elasticsearch_connector_views/src/Plugin/views/query/ElasticsearchViewsQuery.php \Drupal\elasticsearch_connector_views\Plugin\views\query\ElasticsearchViewsQuery::buildFilterArray()
  2. 8.5 modules/elasticsearch_connector_views/src/Plugin/views/query/ElasticsearchViewsQuery.php \Drupal\elasticsearch_connector_views\Plugin\views\query\ElasticsearchViewsQuery::buildFilterArray()
  3. 8.6 modules/elasticsearch_connector_views/src/Plugin/views/query/ElasticsearchViewsQuery.php \Drupal\elasticsearch_connector_views\Plugin\views\query\ElasticsearchViewsQuery::buildFilterArray()

Build the filter parameters for Elasticsearch.

Parameters

array $where: All where causes for the query.

Return value

array The ready to use filters in Elasticsearch body.

File

modules/elasticsearch_connector_views/src/Plugin/views/query/ElasticsearchViewsQuery.php, line 389

Class

ElasticsearchViewsQuery
Defines a Views query class for searching on Search API indexes.

Namespace

Drupal\elasticsearch_connector_views\Plugin\views\query

Code

protected function buildFilterArray(array $where) {
  $filter = [];
  foreach ($where as $wh) {
    foreach ($wh['conditions'] as $cond) {
      $filter[mb_strtolower($wh['type'])][] = $cond['field'];
    }
  }
  if (count($filter) > 1) {
    $filter = [
      mb_strtolower($this->group_operator) => $filter,
    ];
  }
  return $filter;
}