You are here

protected function ElasticsearchViewsQuery::buildFilterArray in Elasticsearch Connector 8.6

Same name and namespace in other branches
  1. 8.7 modules/elasticsearch_connector_views/src/Plugin/views/query/ElasticsearchViewsQuery.php \Drupal\elasticsearch_connector_views\Plugin\views\query\ElasticsearchViewsQuery::buildFilterArray()
  2. 8.2 modules/elasticsearch_connector_views/src/Plugin/views/query/ElasticsearchViewsQuery.php \Drupal\elasticsearch_connector_views\Plugin\views\query\ElasticsearchViewsQuery::buildFilterArray()
  3. 8.5 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 395

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($where) {
  $filter = array();
  foreach ($where as $wh) {
    foreach ($wh['conditions'] as $cond) {
      $filter[mb_strtolower($wh['type'])][] = $cond['field'];
    }
  }
  if (count($filter) > 1) {
    $filter = array(
      mb_strtolower($this->group_operator) => $filter,
    );
  }
  return $filter;
}