From e57ff7ed5072958033a1da206c62325fa57f0a43 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 24 Dec 2020 14:04:55 +0000 Subject: [PATCH] Bug 27307: Don't drop phrase directive when searching keyword index We convert 'keyword' to '' as an index since we want it to search all fields When we are searching 'as phrase', however, we should not drop the search type To test: 1 - Enable IntranetCatalogPullDown 2 - Set searchEngine to Elasticsearch 3 - Perform a search for 'Keyword as phrase' for a phrase that does appear in a record 4 - You get the result 5 - Reverse the order of words in the phrase 6 - You still get a result? 7 - Apply patch 8 - Restart all the things 9 - Reversed search does not return record 10 - Correct order and search, correct record returned Signed-off-by: Andrew Fuerste-Henry --- Koha/SearchEngine/Elasticsearch/QueryBuilder.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm index e00fc5a523..c834a75086 100644 --- a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm +++ b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm @@ -732,7 +732,7 @@ sub _convert_index_fields { type => $index_type_convert{ $t // '__default' } }; $r->{field} = ($mc . $r->{field}) if $mc && $r->{field}; - $r->{field} ? $r : undef; + $r->{field} || $r->{type} ? $r : undef; } @indexes; } -- 2.11.0