From b3af09186d677d62915a952b4a65be094bda68a6 Mon Sep 17 00:00:00 2001 From: Alex Arnaud Date: Thu, 1 Oct 2020 15:01:02 +0000 Subject: [PATCH] Bug 26537: use QueryBuilder in unimarc_field_4XX plugin to make query Signed-off-by: Owen Leonard --- cataloguing/value_builder/unimarc_field_4XX.pl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cataloguing/value_builder/unimarc_field_4XX.pl b/cataloguing/value_builder/unimarc_field_4XX.pl index 7b0ef28018..a2be2f802c 100755 --- a/cataloguing/value_builder/unimarc_field_4XX.pl +++ b/cataloguing/value_builder/unimarc_field_4XX.pl @@ -35,6 +35,7 @@ use Koha::ItemTypes; use Koha::SearchEngine; use Koha::SearchEngine::Search; +use Koha::SearchEngine::QueryBuilder; sub plugin_parameters { my ( $dbh, $record, $tagslib, $i ) = @_; @@ -341,8 +342,13 @@ sub plugin { my $orderby; my $op = 'AND'; $search = 'kw:'.$search." $op mc-itemtype:".$itype if $itype; + my $limits = $itype ? ["mc-itype,phr:$itype"] : []; + + my $builder = Koha::SearchEngine::QueryBuilder->new({index => $Koha::SearchEngine::BIBLIOS_INDEX}); my $searcher = Koha::SearchEngine::Search->new({index => $Koha::SearchEngine::BIBLIOS_INDEX}); - my ( $errors, $results, $total_hits ) = $searcher->simple_search_compat($search, $startfrom * $resultsperpage, $resultsperpage ); + + my ($builderror, $es_query)= $builder->build_query_compat( undef, [$search], ['kw'], $limits, ['relevance']); + my ( $errors, $results, $total_hits ) = $searcher->simple_search_compat($es_query, $startfrom * $resultsperpage, $resultsperpage ); if (defined $errors ) { $results = []; } @@ -439,7 +445,7 @@ sub plugin { if ( $total_hits < $from + $resultsperpage ) { $to = $total_hits; }else{ - $to = $from + $resultsperpage ; + $to = $startfrom * $resultsperpage + $resultsperpage ; } # my $link="/cgi-bin/koha/cataloguing/value_builder/unimarc4XX.pl?op=do_search&q=$search_desc&resultsperpage=$resultsperpage&startfrom=$startfrom&search=$search"; # foreach my $sort (@sort_by){ -- 2.25.1