From 0a41557761d7b8d5e99bfa850abfe560526d0a11 Mon Sep 17 00:00:00 2001
From: Kevin Carnes <kevin.carnes@ub.lu.se>
Date: Wed, 25 May 2022 09:19:21 +0000
Subject: [PATCH] Bug 25669: [21.11.x] (follow-up) Minor fixes

Bulk doesn't support include_type_name, update requirement to
Search::Elasticseach@6.80, and remove data type name from tests.

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit e926de5e8f359acf6b8beff541fe13ce2a5ac49e)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

(cherry picked from commit 22c9ea9737d614a26b06092cda9708e27013e494)
Rebased-by: Victor Grousset/tuxayo <victor@tuxayo.net>
---
 Koha/SearchEngine/Elasticsearch/Indexer.pm    |  1 -
 cpanfile                                      |  2 +-
 .../Koha/SearchEngine/Elasticsearch.t         |  2 +-
 .../SearchEngine/Elasticsearch/QueryBuilder.t | 86 +++++++++----------
 .../Koha/SearchEngine/Elasticsearch/Search.t  | 38 ++++----
 5 files changed, 62 insertions(+), 67 deletions(-)

diff --git a/Koha/SearchEngine/Elasticsearch/Indexer.pm b/Koha/SearchEngine/Elasticsearch/Indexer.pm
index eacb0d1228..d0b630bf6b 100644
--- a/Koha/SearchEngine/Elasticsearch/Indexer.pm
+++ b/Koha/SearchEngine/Elasticsearch/Indexer.pm
@@ -348,7 +348,6 @@ sub delete_index {
     my $result = $elasticsearch->bulk(
         index => $self->index_name,
         type => 'data',
-        include_type_name => JSON::true(),
         body => \@body,
     );
     if ($result->{errors}) {
diff --git a/cpanfile b/cpanfile
index cd4d9d0960..7e654ce6e6 100644
--- a/cpanfile
+++ b/cpanfile
@@ -91,7 +91,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', '6.00';
+requires 'Search::Elasticsearch', '6.80';
 requires 'Sereal::Decoder', '3.0';
 requires 'Sereal::Encoder', '3.0';
 requires 'Storable', '2.20';
diff --git a/t/db_dependent/Koha/SearchEngine/Elasticsearch.t b/t/db_dependent/Koha/SearchEngine/Elasticsearch.t
index 78d0c4e331..90e99ace39 100755
--- a/t/db_dependent/Koha/SearchEngine/Elasticsearch.t
+++ b/t/db_dependent/Koha/SearchEngine/Elasticsearch.t
@@ -134,7 +134,7 @@ subtest 'get_elasticsearch_mappings() tests' => sub {
     # test reading mappings
     my $es = Koha::SearchEngine::Elasticsearch->new( {index => $Koha::SearchEngine::Elasticsearch::BIBLIOS_INDEX} );
     $mappings = $es->get_elasticsearch_mappings();
-    is( $mappings->{data}{properties}{isbn__sort}{index}, 'false', 'Field mappings parsed correctly' );
+    is( $mappings->{properties}{isbn__sort}{index}, 'false', 'Field mappings parsed correctly' );
 };
 
 subtest 'Koha::SearchEngine::Elasticsearch::marc_records_to_documents () tests' => sub {
diff --git a/t/db_dependent/Koha/SearchEngine/Elasticsearch/QueryBuilder.t b/t/db_dependent/Koha/SearchEngine/Elasticsearch/QueryBuilder.t
index 0a8a8ff98d..c0084653c2 100755
--- a/t/db_dependent/Koha/SearchEngine/Elasticsearch/QueryBuilder.t
+++ b/t/db_dependent/Koha/SearchEngine/Elasticsearch/QueryBuilder.t
@@ -39,50 +39,48 @@ $se->mock( 'get_elasticsearch_mappings', sub {
     my %all_mappings;
 
     my $mappings = {
-        data => {
-            properties => {
-                title => {
-                    type => 'text'
-                },
-                title__sort => {
-                    type => 'text'
-                },
-                subject => {
-                    type => 'text',
-                    facet => 1
-                },
-                'subject-heading-thesaurus' => {
-                    type => 'text',
-                    facet => 1
-                },
-                itemnumber => {
-                    type => 'integer'
-                },
-                sortablenumber => {
-                    type => 'integer'
-                },
-                sortablenumber__sort => {
-                    type => 'integer'
-                },
-                heading => {
-                    type => 'text'
-                },
-                'heading-main' => {
-                    type => 'text'
-                },
-                heading__sort => {
-                    type => 'text'
-                },
-                match => {
-                    type => 'text'
-                },
-                'match-heading' => {
-                    type => 'text'
-                },
-                'match-heading-see-from' => {
-                    type => 'text'
-                },
-            }
+        properties => {
+            title => {
+                type => 'text'
+            },
+            title__sort => {
+                type => 'text'
+            },
+            subject => {
+                type => 'text',
+                facet => 1
+            },
+            'subject-heading-thesaurus' => {
+                type => 'text',
+                facet => 1
+            },
+            itemnumber => {
+                type => 'integer'
+            },
+            sortablenumber => {
+                type => 'integer'
+            },
+            sortablenumber__sort => {
+                type => 'integer'
+            },
+            heading => {
+                type => 'text'
+            },
+            'heading-main' => {
+                type => 'text'
+            },
+            heading__sort => {
+                type => 'text'
+            },
+            match => {
+                type => 'text'
+            },
+            'match-heading' => {
+                type => 'text'
+            },
+            'match-heading-see-from' => {
+                type => 'text'
+            },
         }
     };
     $all_mappings{$self->index} = $mappings;
diff --git a/t/db_dependent/Koha/SearchEngine/Elasticsearch/Search.t b/t/db_dependent/Koha/SearchEngine/Elasticsearch/Search.t
index e7d3b2ae62..59eabeb778 100755
--- a/t/db_dependent/Koha/SearchEngine/Elasticsearch/Search.t
+++ b/t/db_dependent/Koha/SearchEngine/Elasticsearch/Search.t
@@ -31,26 +31,24 @@ $se->mock( 'get_elasticsearch_mappings', sub {
     my %all_mappings;
 
     my $mappings = {
-        data => {
-            properties => {
-                title => {
-                    type => 'text'
-                },
-                title__sort => {
-                    type => 'text'
-                },
-                subject => {
-                    type => 'text'
-                },
-                itemnumber => {
-                    type => 'integer'
-                },
-                sortablenumber => {
-                    type => 'integer'
-                },
-                sortablenumber__sort => {
-                    type => 'integer'
-                }
+        properties => {
+            title => {
+                type => 'text'
+            },
+            title__sort => {
+                type => 'text'
+            },
+            subject => {
+                type => 'text'
+            },
+            itemnumber => {
+                type => 'integer'
+            },
+            sortablenumber => {
+                type => 'integer'
+            },
+            sortablenumber__sort => {
+                type => 'integer'
             }
         }
     };
-- 
2.37.2