From 4d5ed29b34ef935326ae0aaa134cf1db78bd3ec7 Mon Sep 17 00:00:00 2001 From: "chr.fritsch" Date: Tue, 23 Sep 2014 06:30:28 -0500 Subject: [PATCH] Issue #2342653 by chr.fritsch: Add search_api query to elastica query alter. Github: Closes #52 --- modules/elastica/includes/SearchApiElasticsearchElastica.inc | 2 +- .../includes/SearchApiElasticsearchElasticaSearcher.inc | 4 ++-- modules/elastica/search_api_elasticsearch_elastica.api.php | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/elastica/includes/SearchApiElasticsearchElastica.inc b/modules/elastica/includes/SearchApiElasticsearchElastica.inc index e3a61f0..cbef2ce 100644 --- a/modules/elastica/includes/SearchApiElasticsearchElastica.inc +++ b/modules/elastica/includes/SearchApiElasticsearchElastica.inc @@ -339,7 +339,7 @@ class SearchApiElasticsearchElastica extends SearchApiElasticsearchAbstractServi // Add facets. $this->addSearchFacets($elastica_query, $query); - $response = SearchApiElasticsearchElasticaSearcher::search($elastica_type, $elastica_query, $query_options); + $response = SearchApiElasticsearchElasticaSearcher::search($elastica_type, $elastica_query, $query_options, $query); // Show Elasticsearch query string from Elastica // as json output when views debug output is enabled. diff --git a/modules/elastica/includes/SearchApiElasticsearchElasticaSearcher.inc b/modules/elastica/includes/SearchApiElasticsearchElasticaSearcher.inc index 187c717..8e5d7b9 100644 --- a/modules/elastica/includes/SearchApiElasticsearchElasticaSearcher.inc +++ b/modules/elastica/includes/SearchApiElasticsearchElasticaSearcher.inc @@ -7,12 +7,12 @@ class SearchApiElasticsearchElasticaSearcher { - static public function search($type, $query, $options) { + static public function search($type, $query, $options, SearchApiQueryInterface $search_api_query) { if (!empty($options['mlt'])) { SearchApiElasticsearchElasticaMLT::build($type, $options, $query); } - drupal_alter('search_api_elasticsearch_elastica_query', $query); + drupal_alter('search_api_elasticsearch_elastica_query', $query, $search_api_query); return $type->search($query); } diff --git a/modules/elastica/search_api_elasticsearch_elastica.api.php b/modules/elastica/search_api_elasticsearch_elastica.api.php index 09a4d0d..0c801cd 100644 --- a/modules/elastica/search_api_elasticsearch_elastica.api.php +++ b/modules/elastica/search_api_elasticsearch_elastica.api.php @@ -22,7 +22,9 @@ function hook_search_api_elasticsearch_elastica_add_index_alter(array $options) * * @param \Elastica\Query $elastica_query * The Elastica query object to be altered. + * @param SearchApiQueryInterface $query + * The original Search API query. */ -function hook_search_api_elasticsearch_elastica_query_alter(\Elastica\Query &$elastica_query) { +function hook_search_api_elasticsearch_elastica_query_alter(\Elastica\Query &$elastica_query, SearchApiQueryInterface $search_api_query) { }