Bugzilla – Attachment 110406 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), 7.09 KB, created by
Owen Leonard
on 2020-09-18 15:51:51 UTC
(
hide
)
Description:
Bug 24155: Make wieghting an option on advanced search
Filename:
MIME Type:
Creator:
Owen Leonard
Created:
2020-09-18 15:51:51 UTC
Size:
7.09 KB
patch
obsolete
>From 9278e2165d83fa0e5c17027ad9a498c17efdcdbd 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 > >Signed-off-by: Myka Kennedy Stephens <mkstephens@lancasterseminary.edu> > >Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> > >Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org> >--- > 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 756dd4c2a4..af822bf652 100755 >--- a/catalogue/search.pl >+++ b/catalogue/search.pl >@@ -427,6 +427,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; >@@ -446,7 +447,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 bd7961ffb3..fdc04b2c2e 100755 >--- a/cataloguing/addbooks.pl >+++ b/cataloguing/addbooks.pl >@@ -74,7 +74,7 @@ if ($query) { > my $searcher = Koha::SearchEngine::Search->new( > { index => $Koha::SearchEngine::BIBLIOS_INDEX } ); > ( 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 8c555441e1..afde713912 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/advsearch.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/advsearch.tt >@@ -93,9 +93,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 c1f8b0d82b..35ba5b9f51 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc >@@ -158,6 +158,7 @@ > <div id="opac-main-search"> > [% IF Koha.Preference('OpacCustomSearch') == '' %] > <form name="searchform" method="get" action="/cgi-bin/koha/opac-search.pl" id="searchform"> >+ <input type="hidden" name="weight_search" value="1"> > <div class="form-row align-items-center"> > <div class="col-sm-auto order-1 order-sm-1"> > <label for="masthead_search"> Search >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 7e0aec5e0f..297b0ced9e 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt >@@ -30,6 +30,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 %] > [% IF ( expanded_options ) %] > <div class="advanced-search-terms extended"> > [% ELSE %] >diff --git a/opac/opac-search.pl b/opac/opac-search.pl >index cf2e9e966e..99f26685a8 100755 >--- a/opac/opac-search.pl >+++ b/opac/opac-search.pl >@@ -532,6 +532,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