From 80a1225bb732fb957af483cfa64face8631165bf Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Fri, 8 Aug 2014 12:01:36 -0300 Subject: [PATCH] Bug 12738: C4::Context should set 'keyword' as the default search class On a Perl 5.18 environment (e.g. Ubuntu 14.04 LTS): To reproduce: - Have UseQueryParser == "Don't try" - Perform a search typing just a word that would have many matches on your Zebra db. - Take note of the search results count. - Make sure you have the queryparser.yaml file in your config dir. - Set UseQueryParser == "Try" - Perform the same search a couple of times => FAIL: Notice that the search results count differs from one run to the other. - Run the regression tests $ prove -v t/db_dependent/QueryParser.t => FAIL: tests fail To test: - Apply the patch - Run tests $ prove -v t/db_dependent/QueryParser.t => SUCCESS: tests pass - Repeat the steps 'To reproduce' => SUCCESS: Search results count is deterministic :-D - Sign off :-D Sponsored-by: Universidad Nacional de Cordoba Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer Now search with QueryParser always returns the correct number of results on a system with the newer Perl version. Passes all tests and QA script. Signed-off-by: Tomas Cohen Arazi --- C4/Context.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/C4/Context.pm b/C4/Context.pm index 9a7b75da8f..63e8ebe277 100644 --- a/C4/Context.pm +++ b/C4/Context.pm @@ -988,6 +988,8 @@ sub _new_queryparser { my $config_file = $context->config('queryparser_config'); $config_file ||= '/etc/koha/searchengine/queryparser.yaml'; if ( $QParser->load_config($config_file) ) { + # Set 'keyword' as the default search class + $QParser->default_search_class('keyword'); # TODO: allow indexes to be configured in the database return $QParser; } -- 2.39.5