Bugzilla – Attachment 115666 Details for
Bug 22801
Advance search yr uses copydate instead of date-of-publication
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 22801: Advance search yr must use date-of-publication and not copydate
Bug-22801-Advance-search-yr-must-use-date-of-publi.patch (text/plain), 2.57 KB, created by
Fridolin Somers
on 2021-01-22 08:46:52 UTC
(
hide
)
Description:
Bug 22801: Advance search yr must use date-of-publication and not copydate
Filename:
MIME Type:
Creator:
Fridolin Somers
Created:
2021-01-22 08:46:52 UTC
Size:
2.57 KB
patch
obsolete
>From 49532f09208aa484d51f2e7a5eac0dd861de1439 Mon Sep 17 00:00:00 2001 >From: Fridolin Somers <fridolin.somers@biblibre.com> >Date: Fri, 22 Jan 2021 09:39:33 +0100 >Subject: [PATCH] Bug 22801: Advance search yr must use date-of-publication and > not copydate > >In advanced search with Elasticsearch the limit on years range is actually using copydate : > >Koha/SearchEngine/Elasticsearch/QueryBuilder.pm in _fix_limit_special_cases() : > if ( $l =~ /^yr,st-numeric,ge=/ ) { > my ( $start, $end ) = > ( $l =~ /^yr,st-numeric,ge=(.*) and yr,st-numeric,le=(.*)$/ ); > next unless defined($start) && defined($end); > push @new_lim, "copydate:[$start TO $end]"; > } > >With Zebra it uses date-of-publication and also in Koha/SearchEngine/Elasticsearch/QueryBuilder.pm : > >our %index_field_convert = ( >(...) > 'yr' => 'date-of-publication', > >This patch uses %index_field_convert to perform 'yr' limit. > >Test plan: >1) Apply patch >2) Use Elasticsearch searchengine >3) Go to advanced search with 'More options' >4) Perform a search with a year limit (value or range) >5) Check results are correct >--- > Koha/SearchEngine/Elasticsearch/QueryBuilder.pm | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > >diff --git a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm >index d551ad93c1..5c8fe05916 100644 >--- a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm >+++ b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm >@@ -999,6 +999,9 @@ The argument should be an arrayref, and it'll return an arrayref. > sub _fix_limit_special_cases { > my ( $self, $limits ) = @_; > >+ # yr is usually an alias of a search field >+ my $yrfield = ( exists $index_field_convert{'yr'} ) ? $index_field_convert{'yr'} : 'yr'; >+ > my @new_lim; > foreach my $l (@$limits) { > >@@ -1007,13 +1010,13 @@ sub _fix_limit_special_cases { > my ( $start, $end ) = > ( $l =~ /^yr,st-numeric,ge=(.*) and yr,st-numeric,le=(.*)$/ ); > next unless defined($start) && defined($end); >- push @new_lim, "copydate:[$start TO $end]"; >+ push @new_lim, "$yrfield:[$start TO $end]"; > } > elsif ( $l =~ /^yr,st-numeric=/ ) { > my ($date) = ( $l =~ /^yr,st-numeric=(.*)$/ ); > next unless defined($date); > $date = $self->_modify_string_by_type(type => 'st-year', operand => $date); >- push @new_lim, "copydate:$date"; >+ push @new_lim, "$yrfield:$date"; > } > elsif ( $l =~ /^available$/ ) { > push @new_lim, 'onloan:false'; >-- >2.30.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 22801
:
115666
|
122064
|
122065
|
122066
|
122069
|
122070
|
123138
|
123139