From d5a67c05347c7b95f75d75973f6628714b30ad35 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Tue, 16 Jul 2019 12:08:47 +0000 Subject: [PATCH] Bug 23322: Correct case for boolean in ES search I did not include tests only because this is a very small reasonable change and routine has no tests. It does not affect behaviour, it only touches syntax lightly. To test: 0 - Set SearchEngine to ElasticSearch 1 - Import the example record (a version is included in sample data in devbox/testing docker so you can skip) 2 - Stage the attached example record 3 - Match using 'ISBN' rule 4 - No matches found 5 - Apply patch 6 - Restart all the things 7 - Reapply matching with no rule 8 - Reapply with ISBN matcing 9 - It matches! 10 - Set SearchEngine to Zebra 11 - Reapply matching with no rule 12 - Reapply with ISBN matching 13 - Matching works as before in Zebra Signed-off-by: Ron Houk Signed-off-by: Martin Renvoize --- C4/Matcher.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Matcher.pm b/C4/Matcher.pm index 560d67ed93..8b82911a23 100644 --- a/C4/Matcher.pm +++ b/C4/Matcher.pm @@ -658,7 +658,7 @@ sub get_matches { } else { my $phr = ( C4::Context->preference('AggressiveMatchOnISBN') || C4::Context->preference('AggressiveMatchOnISSN') ) ? ',phr' : q{}; - $query = join( " or ", + $query = join( " OR ", map { "$matchpoint->{'index'}$phr=\"$_\"" } @source_keys ); #NOTE: double-quote the values so you don't get a "Embedded truncation not supported" error when a term has a ? in it. } -- 2.20.1