@@ -, +, @@ auth_finder.pl --- Koha/SearchEngine/Elasticsearch/QueryBuilder.pm | 1 + authorities/auth_finder.pl | 16 +++++++++++++--- .../prog/en/includes/auth-finder-search.inc | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) --- a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm +++ a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm @@ -435,6 +435,7 @@ sub build_authorities_query_compat { unless exists $koha_to_index_name->{$m}; } for ( my $i = 0 ; $i < @$value ; $i++ ) { + next unless $value->[$i]; #clean empty form values, ES doesn't like undefined searches push @searches, { where => $koha_to_index_name->{$marclist->[$i]}, --- a/authorities/auth_finder.pl +++ a/authorities/auth_finder.pl @@ -28,6 +28,8 @@ use C4::Context; use C4::AuthoritiesMarc; use C4::Acquisition; use C4::Koha; +use Koha::SearchEngine::Search; +use Koha::SearchEngine::QueryBuilder; use Koha::Authority::Types; @@ -69,10 +71,18 @@ if ( $op eq "do_search" ) { my $startfrom = $query->param('startfrom') || 0; my $resultsperpage = $query->param('resultsperpage') || 20; + 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, $authtypecode, $orderby + ); + my $offset = $startfrom * $resultsperpage; my ( $results, $total ) = - SearchAuthorities( \@marclist, \@and_or, \@excluding, \@operator, \@value, - $startfrom * $resultsperpage, - $resultsperpage, $authtypecode, $orderby ); + $searcher->search_auth_compat( $search_query, $offset, + $resultsperpage ); # multi page display gestion my $displaynext = 0; --- a/koha-tmpl/intranet-tmpl/prog/en/includes/auth-finder-search.inc +++ a/koha-tmpl/intranet-tmpl/prog/en/includes/auth-finder-search.inc @@ -197,7 +197,7 @@ function finderjumpfull(page)
  • - +