Bugzilla – Attachment 130342 Details for
Bug 27770
ES: Deprecated aggregation order key [_term] used, replaced by [_key]
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 27770: ES: Deprecated aggregation order key [_term] used, replaced by [_key]
Bug-27770-ES-Deprecated-aggregation-order-key-term.patch (text/plain), 4.12 KB, created by
Kevin Carnes
on 2022-02-09 08:42:59 UTC
(
hide
)
Description:
Bug 27770: ES: Deprecated aggregation order key [_term] used, replaced by [_key]
Filename:
MIME Type:
Creator:
Kevin Carnes
Created:
2022-02-09 08:42:59 UTC
Size:
4.12 KB
patch
obsolete
>From a0a6af1848e7f01e916f2de54c8bffc483560908 Mon Sep 17 00:00:00 2001 >From: Kevin Carnes <kevin.carnes@ub.lu.se> >Date: Tue, 8 Feb 2022 14:35:18 +0100 >Subject: [PATCH] Bug 27770: ES: Deprecated aggregation order key [_term] used, > replaced by [_key] > >Starting in Elasticsearch 6.0 _key should be used instead of _term to order >buckets by their term > >To test: >1) Run prove t/db_dependent/Koha/SearchEngine/Elasticsearch/Search.t >2) If you observe an error about types, apply patch for bug 25669 >3) Run prove t/db_dependent/Koha/SearchEngine/Elasticsearch/Search.t >4) Observe if you get a deprecation warning about order key >5) Apply patch >6) Run prove t/db_dependent/Koha/SearchEngine/Elasticsearch/Search.t >7) Observe no deprecation warning about order key >8) Sign off > >Sponsored-by: Lund University Library >--- > Koha/SearchEngine/Elasticsearch.pm | 1 + > Koha/SearchEngine/Elasticsearch/QueryBuilder.pm | 8 +++++++- > .../Koha/SearchEngine/Elasticsearch/QueryBuilder.t | 11 +++++++++-- > 3 files changed, 17 insertions(+), 3 deletions(-) > >diff --git a/Koha/SearchEngine/Elasticsearch.pm b/Koha/SearchEngine/Elasticsearch.pm >index 203183138f..c04c2173d6 100644 >--- a/Koha/SearchEngine/Elasticsearch.pm >+++ b/Koha/SearchEngine/Elasticsearch.pm >@@ -104,6 +104,7 @@ sub get_elasticsearch { > $self->{elasticsearch} = Search::Elasticsearch->new( > $self->get_elasticsearch_params() > ); >+ $self->{es_version} = $self->{elasticsearch}->info->{version}{number}; > } > return $self->{elasticsearch}; > } >diff --git a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm >index 607634c405..9282996d82 100644 >--- a/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm >+++ b/Koha/SearchEngine/Elasticsearch/QueryBuilder.pm >@@ -44,6 +44,7 @@ use JSON; > use List::MoreUtils qw( each_array ); > use Modern::Perl; > use URI::Escape qw( uri_escape_utf8 ); >+use version; > > use C4::Context; > use Koha::Exceptions; >@@ -639,11 +640,16 @@ sub _build_scan_query { > query => '*' > } > }; >+ my $es_key = '_key'; >+ $self->get_elasticsearch(); >+ if (version->parse($self->{es_version}) < version->parse('6.0.0')) { >+ $es_key = '_term'; >+ } > $res->{aggregations} = { > $index => { > terms => { > field => $index . '__facet', >- order => { '_term' => 'asc' }, >+ order => { $es_key => 'asc' }, > include => $self->_create_regex_filter($self->clean_search_term($term)) . '.*' > } > } >diff --git a/t/db_dependent/Koha/SearchEngine/Elasticsearch/QueryBuilder.t b/t/db_dependent/Koha/SearchEngine/Elasticsearch/QueryBuilder.t >index 2991ee39b6..b879dd22ba 100755 >--- a/t/db_dependent/Koha/SearchEngine/Elasticsearch/QueryBuilder.t >+++ b/t/db_dependent/Koha/SearchEngine/Elasticsearch/QueryBuilder.t >@@ -29,6 +29,8 @@ use List::Util qw( all ); > use Koha::Database; > use Koha::SearchEngine::Elasticsearch::QueryBuilder; > >+use version; >+ > my $schema = Koha::Database->new->schema; > $schema->storage->txn_begin; > >@@ -231,6 +233,11 @@ subtest 'build_query tests' => sub { > my %options; > $options{sort} = \@sort_params; > my $query = $qb->build_query('test', %options); >+ my $es_key = '_key'; >+ $qb->get_elasticsearch(); >+ if (version->parse($qb->{es_version}) < version->parse('6.0.0')) { >+ $es_key = '_term'; >+ } > > is_deeply( > $query->{sort}, >@@ -507,7 +514,7 @@ subtest 'build_query tests' => sub { > $query->{aggregations}{'author'}{'terms'}, > { > field => 'author__facet', >- order => { '_term' => 'asc' }, >+ order => { $es_key => 'asc' }, > include => '[nN][eE][wW].*' > }, > "scan aggregation request is properly formed" >@@ -525,7 +532,7 @@ subtest 'build_query tests' => sub { > $query->{aggregations}{'subject'}{'terms'}, > { > field => 'subject__facet', >- order => { '_term' => 'asc' }, >+ order => { $es_key => 'asc' }, > include => '[nN][eE][wW].*' > }, > "scan aggregation request is properly formed" >-- >2.17.1
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 27770
:
130290
|
130342
|
130543
|
130828