Bugzilla – Attachment 132389 Details for
Bug 28610
Elasticsearch 7 - hits.total is now an object
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 28610: Elasticsearch 7 - hits.total is now an object
Bug-28610-Elasticsearch-7---hitstotal-is-now-an-ob.patch (text/plain), 2.76 KB, created by
Nick Clemens (kidclamp)
on 2022-03-29 11:16:46 UTC
(
hide
)
Description:
Bug 28610: Elasticsearch 7 - hits.total is now an object
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2022-03-29 11:16:46 UTC
Size:
2.76 KB
patch
obsolete
>From 39abe40264ede0a70f9e70fbec6001924de428b2 Mon Sep 17 00:00:00 2001 >From: Kevin Carnes <kevin.carnes@ub.lu.se> >Date: Tue, 8 Feb 2022 14:48:19 +0100 >Subject: [PATCH] Bug 28610: Elasticsearch 7 - hits.total is now an object > >In Elasticsearch 7 hits.total is now an object which is not always an exact >value. You can always get an exact total by adding a track_total_hits >parameter set to true when using the Elasticsearch search method > >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 that tests with count fail >5) Apply patch >6) Observe that tests with count pass >7) Sign off > >Sponsored-by: Lund University Library >Signed-off-by: Julian Maurice <julian.maurice@biblibre.com> > >Signed-off-by: Nick Clemens <nick@bywatersolutions.com> >--- > Koha/SearchEngine/Elasticsearch/Search.pm | 9 +++++++++ > cpanfile | 2 +- > 2 files changed, 10 insertions(+), 1 deletion(-) > >diff --git a/Koha/SearchEngine/Elasticsearch/Search.pm b/Koha/SearchEngine/Elasticsearch/Search.pm >index b616b4efe1..fc7eda5816 100644 >--- a/Koha/SearchEngine/Elasticsearch/Search.pm >+++ b/Koha/SearchEngine/Elasticsearch/Search.pm >@@ -51,6 +51,7 @@ use Koha::Exceptions::Elasticsearch; > use MARC::Record; > use MARC::File::XML; > use MIME::Base64 qw( decode_base64 ); >+use JSON; > > Koha::SearchEngine::Elasticsearch::Search->mk_accessors(qw( store )); > >@@ -93,12 +94,16 @@ sub search { > my $results = eval { > $elasticsearch->search( > index => $self->index_name, >+ track_total_hits => JSON::true, > body => $query > ); > }; > if ($@) { > die $self->process_error($@); > } >+ if (ref $results->{hits}->{total} eq 'HASH') { >+ $results->{hits}->{total} = $results->{hits}->{total}->{value}; >+ } > return $results; > } > >@@ -119,9 +124,13 @@ sub count { > # and just return number of hits > my $result = $elasticsearch->search( > index => $self->index_name, >+ track_total_hits => JSON::true, > body => $query > ); > >+ if (ref $result->{hits}->{total} eq 'HASH') { >+ return $result->{hits}->{total}->{value}; >+ } > return $result->{hits}->{total}; > } > >diff --git a/cpanfile b/cpanfile >index 58d812ea74..730789064f 100644 >--- a/cpanfile >+++ b/cpanfile >@@ -93,7 +93,7 @@ requires 'Plack::Middleware::LogWarn', '0.001002'; > requires 'Plack::Middleware::ReverseProxy', '0.14'; > requires 'Readonly', '2.00'; > requires 'Schedule::At', '1.06'; >-requires 'Search::Elasticsearch', '5.01'; >+requires 'Search::Elasticsearch', '6.00'; > requires 'Sereal::Decoder', '3.0'; > requires 'Sereal::Encoder', '3.0'; > requires 'Storable', '2.20'; >-- >2.30.2
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 28610
:
130291
|
130343
|
130844
|
131008
|
131436
|
131542
| 132389