From cc66d1b2a8961aadc8b663dbddb9e3ca25c52de1 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 Signed-off-by: Martin Renvoize --- 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 08e4817eb6..06a765d386 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.20.1