You are here

protected function SearchApiElasticsearchConnector::setFiltersConjunction in Elasticsearch Connector 7.2

Same name and namespace in other branches
  1. 7 modules/elasticsearch_connector_search_api/service.inc \SearchApiElasticsearchConnector::setFiltersConjunction()

Helper function that set filters conjunction

1 call to SearchApiElasticsearchConnector::setFiltersConjunction()
SearchApiElasticsearchConnector::parseFilter in modules/elasticsearch_connector_search_api/service.inc
Recursively parse Search API filters.

File

modules/elasticsearch_connector_search_api/service.inc, line 951
Provides a Elasticsearch-based service class for the Search API using Elasticsearch Connector module.

Class

SearchApiElasticsearchConnector
Search service class.

Code

protected function setFiltersConjunction(&$filters, $conjunction) {
  if (count($filters) > 1) {
    if ($conjunction === 'OR') {
      $filters = array(
        array(
          'or' => $filters,
        ),
      );
    }
    elseif ($conjunction === 'AND') {
      $filters = array(
        array(
          'and' => $filters,
        ),
      );
    }
    else {
      throw new Exception(t('Undefined conjunction :conjunction! Available values are :avail_conjunction! Incorrect filter criteria is using for searching!', array(
        ':conjunction!' => $conjunction,
        ':avail_conjunction' => $conjunction,
      )));
      return NULL;
    }
  }
  return $filters;
}