From dd6d4c128464a5663426773ff08a7ba0840b8c9e Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 23 Mar 2017 14:44:54 -0300 Subject: [PATCH] Bug 18131: ES - Fix matching staged records - Authority Occurrences of C4::AuthoritiesMarc::SearchAuthorities must be replaced by search_auth_compat. You need to define the search index of matching rule with one of the values defined in %koha_to_index_name (from Koha::SearchEngine::Elasticsearch::QueryBuilder::build_authorities_query_compat) Signed-off-by: Nick Clemens Signed-off-by: Julian Maurice --- C4/Matcher.pm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/C4/Matcher.pm b/C4/Matcher.pm index 01fdbc63c8..82840ebec1 100644 --- a/C4/Matcher.pm +++ b/C4/Matcher.pm @@ -23,6 +23,7 @@ use MARC::Record; use Koha::SearchEngine; use Koha::SearchEngine::Search; +use Koha::SearchEngine::QueryBuilder; use Koha::Util::Normalize qw/legacy_default remove_spaces upper_case lower_case/; =head1 NAME @@ -689,7 +690,6 @@ sub get_matches { } elsif ( $self->{'record_type'} eq 'authority' ) { - my $authresults; my @marclist; my @and_or; my @excluding = []; @@ -701,13 +701,14 @@ sub get_matches { push @operator, 'exact'; push @value, $key; } - require C4::AuthoritiesMarc; - ( $authresults, $total_hits ) = - C4::AuthoritiesMarc::SearchAuthorities( - \@marclist, \@and_or, \@excluding, \@operator, - \@value, 0, 20, undef, - 'AuthidAsc', 1 - ); + my $builder = Koha::SearchEngine::QueryBuilder->new({index => $Koha::SearchEngine::AUTHORITIES_INDEX}); + my $searcher = Koha::SearchEngine::Search->new({index => $Koha::SearchEngine::AUTHORITIES_INDEX}); + my $search_query = $builder->build_authorities_query_compat( + \@marclist, \@and_or, \@excluding, \@operator, + \@value, undef, 'AuthidAsc' + ); + my ( $authresults, $total ) = $searcher->search_auth_compat( $search_query, 0, 20 ); + foreach my $result (@$authresults) { my $id = $result->{authid}; $matches->{$id}->{score} += $matchpoint->{'score'}; -- 2.11.0