[Koha-patches] [PATCH 2/2] Bug 12738: C4::Context should set 'keyword' as the default search class

Tomas Cohen Arazi tomascohen at gmail.com
Fri Aug 8 17:12:15 CEST 2014


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
---
 C4/Context.pm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/C4/Context.pm b/C4/Context.pm
index 9a7b75d..63e8ebe 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;
         }
-- 
1.9.1



More information about the Koha-patches mailing list