From 1fd0c3b6a448ad6777487f2189fccf59e1d5fd27 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 Test plan: - Try a simple search (OPAC or staff) like "title:foo", - click on a facet: badaboum! - apply this patch, - retry --- 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 8a0ead1..ebc2786 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 5085690..438d345 100644 --- a/t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t +++ b/t/db_dependent/Koha_SearchEngine_Elasticsearch_Search.t @@ -81,7 +81,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(); @@ -221,12 +221,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.7.4