Bugzilla – Attachment 99667 Details for
Bug 24155
Weights should be (optionally) applied to Advanced search
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 24155: Make wieghting an option on advanced search
Bug-24155-Make-wieghting-an-option-on-advanced-sea.patch (text/plain), 6.84 KB, created by
Nick Clemens (kidclamp)
on 2020-02-26 16:57:50 UTC
(
hide
)
Description:
Bug 24155: Make wieghting an option on advanced search
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2020-02-26 16:57:50 UTC
Size:
6.84 KB
patch
obsolete
>From 481889917d35e119739a0f036a6bbfd68a87a708 Mon Sep 17 00:00:00 2001 >From: Nick Clemens <nick@bywatersolutions.com> >Date: Wed, 26 Feb 2020 14:30:17 +0000 >Subject: [PATCH] Bug 24155: Make wieghting an option on advanced search > >Currently we apply weighting to all searches except advanced search. The theory >being that when selecting indexes we don't want to apply weights. When searching >in ES weights are only applied to relevant results so it doesn't matter. > >i.e. if weighting author*100 but searching subject, a term matching the subject search in author >is not boosted. > >Given this, we should always apply weights, unless the user wishes not to > >To test: >1 - Set some weighting >2 - Do some searches >3 - Note your terms and results, try advanced and regular searches specifying indexes or not >4 - Apply patch >5 - Note that opac and staff advanced search have option to apply weights >6 - Compare searches after the patch to see how weighting affects, it should be beneficial or not at all >--- > catalogue/search.pl | 3 ++- > cataloguing/addbooks.pl | 2 +- > koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/advsearch.tt | 10 +++++++--- > koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc | 1 + > koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt | 4 ++++ > opac/opac-search.pl | 3 ++- > 6 files changed, 17 insertions(+), 6 deletions(-) > >diff --git a/catalogue/search.pl b/catalogue/search.pl >index 6e5d929413..e42092a09a 100755 >--- a/catalogue/search.pl >+++ b/catalogue/search.pl >@@ -472,6 +472,7 @@ my $count = C4::Context->preference('numSearchResults') || 20; > my $results_per_page = $params->{'count'} || $count; > my $offset = $params->{'offset'} || 0; > my $whole_record = $params->{'whole_record'} || 0; >+my $weight_search = $params->{'weight_search'} || 0; > $offset = 0 if $offset < 0; > my $page = $cgi->param('page') || 1; > #my $offset = ($page-1)*$results_per_page; >@@ -491,7 +492,7 @@ my $searcher = Koha::SearchEngine::Search->new( > $query_type > ) > = $builder->build_query_compat( \@operators, \@operands, \@indexes, \@limits, >- \@sort_by, $scan, $lang, { weighted_fields => !$cgi->param('advsearch'), whole_record => $whole_record }); >+ \@sort_by, $scan, $lang, { weighted_fields => $weight_search, whole_record => $whole_record }); > > $template->param( search_query => $query ) if C4::Context->preference('DumpSearchQueryTemplate'); > >diff --git a/cataloguing/addbooks.pl b/cataloguing/addbooks.pl >index f3b2e43fbb..66a8c00bf8 100755 >--- a/cataloguing/addbooks.pl >+++ b/cataloguing/addbooks.pl >@@ -81,7 +81,7 @@ if ($query) { > $query_cgi = "q=".uri_escape_utf8($query); > } else { > ( undef, $builtquery, undef, $query_cgi, undef, undef, undef, undef, undef, undef ) = >- $builder->build_query_compat( undef, \@operands, undef, undef, undef, 0, $lang ); >+ $builder->build_query_compat( undef, \@operands, undef, undef, undef, 0, $lang, { weighted_fields => 1 }); > } > > $template->param( search_query => $builtquery ) if C4::Context->preference('DumpSearchQueryTemplate'); >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/advsearch.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/advsearch.tt >index 33ec5241cf..7c53869460 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/advsearch.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/advsearch.tt >@@ -90,9 +90,13 @@ > <!-- BOOLEAN SEARCH OPTIONS --> > <fieldset id="searchterms"> > <legend>Search for </legend> >- [% IF Koha.Preference('ElasticsearchMARCFormat') == 'ARRAY' %] >- <input type="checkbox" name="whole_record"> >- <label for="whole_record">Search entire MARC record</label> >+ [% IF Koha.Preference('SearchEngine') == 'Elasticsearch' %] >+ [% IF Koha.Preference('ElasticsearchMARCFormat') == 'ARRAY' %] >+ <input type="checkbox" name="whole_record"> >+ <label for="whole_record">Search entire MARC record</label> >+ [% END %] >+ <input type="checkbox" name="weight_search" checked> >+ <label for="weight_search">Apply field weightings to search</label> > [% END %] > [% FOREACH search_box IN search_boxes_loop %] > [% IF ( search_boxes_label ) %]<div style="text-indent: 4.5em;">[% ELSE %]<div>[% END %] >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc >index cef392338a..c0e289f8df 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc >@@ -172,6 +172,7 @@ > [% END %] > [% IF Koha.Preference('OpacCustomSearch') == '' %] > <form name="searchform" method="get" action="/cgi-bin/koha/opac-search.pl" id="searchform" class="form-inline"> >+ <input type="hidden" name="weight_search" value="1"> > <label for="masthead_search"> Search > [% UNLESS ( Koha.Preference( 'OpacAddMastheadLibraryPulldown' ) == 1 ) %] > [% IF ( mylibraryfirst ) %] >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt >index 6248b360b6..06229d2b6d 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt >@@ -24,6 +24,10 @@ > <div id="booleansearch" class="maincontent"> > <fieldset> > <legend>Search for:</legend> >+ [% IF Koha.Preference('SearchEngine') == 'Elasticsearch' %] >+ <input type="checkbox" name="weight_search" checked> >+ <label for="weighted_search">Apply field weightings to search</label> >+ [% END %] > [% FOREACH search_box IN search_boxes_loop %] > <p> > [% IF ( expanded_options ) %] >diff --git a/opac/opac-search.pl b/opac/opac-search.pl >index a3a766ac7d..ceb6c96c90 100755 >--- a/opac/opac-search.pl >+++ b/opac/opac-search.pl >@@ -530,6 +530,7 @@ $offset = 0 if $offset < 0; > my $page = $cgi->param('page') || 1; > $offset = ($page-1)*$results_per_page if $page>1; > my $hits; >+my $weight_search = $cgi->param('weight_search') || 0; > > # Define some global variables > my ($error,$query,$simple_query,$query_cgi,$query_desc,$limit,$limit_cgi,$limit_desc,$query_type); >@@ -562,7 +563,7 @@ if (C4::Context->preference('OpacSuppression')) { > { > suppress => $suppress, > is_opac => 1, >- weighted_fields => !$cgi->param('advsearch') >+ weighted_fields => $weight_search > } > ); > >-- >2.11.0
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 24155
:
99650
|
99667
|
100959
|
104441
|
105033
|
105038
|
105039
|
105041
|
105042
|
109264
|
109360
|
110405
|
110406
|
110407
|
110408
|
110409
|
110431
|
110432
|
110433
|
110434
|
111039