protected function SearchApiElasticsearchBackend::correctFilter in Elasticsearch Connector 8
Helper function that check if filter is set correct.
1 call to SearchApiElasticsearchBackend::correctFilter()
- SearchApiElasticsearchBackend::parseFilter in src/
Plugin/ search_api/ backend/ SearchApiElasticsearchBackend.php - Recursively parse Search API filters.
File
- src/
Plugin/ search_api/ backend/ SearchApiElasticsearchBackend.php, line 835 - 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\backendCode
protected function correctFilter($filter_assoc, $index_fields, $ignored_field_id = '') {
if (!isset($filter_assoc['field_id']) || !isset($filter_assoc['filter_value']) || !isset($filter_assoc['filter_operator'])) {
// TODO: When using views the sort field is comming as a filter and messing with this section.
// throw new Exception(t('Incorrect filter criteria is using for searching!'));
}
$field_id = $filter_assoc['field_id'];
if (!isset($index_fields[$field_id])) {
throw new \Exception(t(':field_id Undefined field ! Incorrect filter criteria is using for searching!', array(
':field_id' => $field_id,
)));
}
// Check operator.
if (empty($filter_assoc['filter_operator'])) {
throw new \Exception(t('Empty filter operator for :field_id field! Incorrect filter criteria is using for searching!', array(
':field_id' => $field_id,
)));
}
// If field should be ignored, we skip.
if ($field_id === $ignored_field_id) {
return TRUE;
}
return TRUE;
}