From 8cfacd7e164178828b0e75743e78d1740ab414b9 Mon Sep 17 00:00:00 2001 From: Alex Arnaud Date: Tue, 3 Jul 2018 13:57:00 +0000 Subject: [PATCH] Bug 21032: Fix using facet for searches made on specific index MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Test plan: - Try a simple search (OPAC or staff) like "title:foo", - click on a facet: badaboum! - apply this patch, - retry Signed-off-by: Séverine QUEUNE Signed-off-by: Jonathan Druart Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 96f253d5ed2f1770b42f06554ebb4c4e14b3afdf) Signed-off-by: Martin Renvoize --- Koha/SearchEngine/Elasticsearch/QueryBuilder.pm | 2 +- t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm index 8a0ead1deb..ebc2786619 100644 --- a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm +++ b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm @@ -238,7 +238,7 @@ sub build_query_compat { #die Dumper($query); # We roughly emulate the CGI parameters of the zebra query builder my $query_cgi; - $query_cgi = 'idx=kw&q=' . uri_escape_utf8( $operands->[0] ) if @$operands; + $query_cgi = 'q=' . uri_escape_utf8( $operands->[0] ) if @$operands; my $simple_query; $simple_query = $operands->[0] if @$operands == 1; my $query_desc = $simple_query; diff --git a/t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t b/t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t index 7466f07b45..0925322028 100644 --- a/t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t +++ b/t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t @@ -92,7 +92,7 @@ subtest 'json2marc' => sub { }; subtest 'build_query tests' => sub { - plan tests => 23; + plan tests => 24; t::lib::Mocks::mock_preference('DisplayLibraryFacets','both'); my $query = $builder->build_query(); @@ -232,12 +232,14 @@ subtest 'build_query tests' => sub { "query of specific field is added AND suppress:0" ); - ( undef, $query ) = $builder->build_query_compat( undef, ['title:"donald duck"'], undef, undef, undef, undef, undef, { suppress => 0 } ); + my ($simple_query, $query_cgi); + ( undef, $query, $simple_query, $query_cgi ) = $builder->build_query_compat( undef, ['title:"donald duck"'], undef, undef, undef, undef, undef, { suppress => 0 } ); is( $query->{query}{query_string}{query}, '(title:"donald duck")', "query of specific field is not added AND suppress:0" ); + is($query_cgi, 'q=title%3A%22donald%20duck%22', 'query cgi'); }; subtest "_convert_sort_fields" => sub { -- 2.39.5