diff --git a/Kitodo-DataManagement/pom.xml b/Kitodo-DataManagement/pom.xml
index f8fc427c5e1..35884307cde 100644
--- a/Kitodo-DataManagement/pom.xml
+++ b/Kitodo-DataManagement/pom.xml
@@ -72,8 +72,24 @@
myfaces-impl
- org.elasticsearch.client
- elasticsearch-rest-high-level-client
+ org.opensearch
+ opensearch
+
+
+ org.opensearch
+ opensearch-core
+
+
+ org.opensearch.client
+ opensearch-rest-client
+
+
+ org.opensearch.client
+ opensearch-rest-high-level-client
+
+
+ org.opensearch.plugin
+ transport-netty4-client
org.glassfish
@@ -119,10 +135,6 @@
org.junit.jupiter
junit-jupiter-engine
-
- org.elasticsearch.plugin
- transport-netty4-client
-
diff --git a/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/KitodoRestClient.java b/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/KitodoRestClient.java
index 85f16896dd2..667e08be3dd 100644
--- a/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/KitodoRestClient.java
+++ b/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/KitodoRestClient.java
@@ -30,19 +30,19 @@
import org.apache.http.util.EntityUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.elasticsearch.client.Request;
-import org.elasticsearch.client.RequestOptions;
-import org.elasticsearch.client.Requests;
-import org.elasticsearch.client.Response;
-import org.elasticsearch.client.ResponseException;
-import org.elasticsearch.client.RestClient;
-import org.elasticsearch.client.RestClientBuilder;
-import org.elasticsearch.client.RestHighLevelClient;
-import org.elasticsearch.client.core.MainResponse;
-import org.elasticsearch.rest.RestStatus;
import org.kitodo.config.ConfigMain;
import org.kitodo.data.elasticsearch.api.RestClientInterface;
import org.kitodo.data.elasticsearch.exceptions.CustomResponseException;
+import org.opensearch.client.Request;
+import org.opensearch.client.RequestOptions;
+import org.opensearch.client.Requests;
+import org.opensearch.client.Response;
+import org.opensearch.client.ResponseException;
+import org.opensearch.client.RestClient;
+import org.opensearch.client.RestClientBuilder;
+import org.opensearch.client.RestHighLevelClient;
+import org.opensearch.client.core.MainResponse;
+import org.opensearch.core.rest.RestStatus;
/**
* Implementation of ElasticSearch REST Client for Index Module.
diff --git a/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/index/IndexRestClient.java b/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/index/IndexRestClient.java
index c6e0b7f2460..51b66b590b8 100644
--- a/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/index/IndexRestClient.java
+++ b/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/index/IndexRestClient.java
@@ -20,19 +20,19 @@
import org.apache.http.HttpEntity;
import org.apache.http.entity.ContentType;
import org.apache.http.nio.entity.NStringEntity;
-import org.elasticsearch.action.bulk.BulkRequest;
-import org.elasticsearch.action.bulk.BulkResponse;
-import org.elasticsearch.action.delete.DeleteRequest;
-import org.elasticsearch.action.index.IndexRequest;
-import org.elasticsearch.action.index.IndexResponse;
-import org.elasticsearch.action.support.WriteRequest;
-import org.elasticsearch.client.Request;
-import org.elasticsearch.client.RequestOptions;
-import org.elasticsearch.client.Response;
-import org.elasticsearch.client.ResponseException;
import org.kitodo.data.elasticsearch.KitodoRestClient;
import org.kitodo.data.elasticsearch.exceptions.CustomResponseException;
import org.kitodo.data.exceptions.DataException;
+import org.opensearch.action.bulk.BulkRequest;
+import org.opensearch.action.bulk.BulkResponse;
+import org.opensearch.action.delete.DeleteRequest;
+import org.opensearch.action.index.IndexRequest;
+import org.opensearch.action.index.IndexResponse;
+import org.opensearch.action.support.WriteRequest;
+import org.opensearch.client.Request;
+import org.opensearch.client.RequestOptions;
+import org.opensearch.client.Response;
+import org.opensearch.client.ResponseException;
/**
* Implementation of ElasticSearch REST Client for index package.
diff --git a/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/index/ResponseListener.java b/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/index/ResponseListener.java
index a7f69fb3759..419b55ce2e4 100644
--- a/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/index/ResponseListener.java
+++ b/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/index/ResponseListener.java
@@ -13,8 +13,8 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.elasticsearch.action.ActionListener;
-import org.elasticsearch.action.bulk.BulkResponse;
+import org.opensearch.action.bulk.BulkResponse;
+import org.opensearch.core.action.ActionListener;
public class ResponseListener implements ActionListener {
diff --git a/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/search/SearchRestClient.java b/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/search/SearchRestClient.java
index 4893747dc03..544cff5effa 100644
--- a/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/search/SearchRestClient.java
+++ b/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/search/SearchRestClient.java
@@ -25,27 +25,27 @@
import org.apache.http.entity.ContentType;
import org.apache.http.nio.entity.NStringEntity;
import org.apache.http.util.EntityUtils;
-import org.elasticsearch.action.get.GetRequest;
-import org.elasticsearch.action.get.GetResponse;
-import org.elasticsearch.action.get.MultiGetItemResponse;
-import org.elasticsearch.action.get.MultiGetRequest;
-import org.elasticsearch.action.get.MultiGetResponse;
-import org.elasticsearch.action.search.SearchRequest;
-import org.elasticsearch.action.search.SearchResponse;
-import org.elasticsearch.client.Request;
-import org.elasticsearch.client.RequestOptions;
-import org.elasticsearch.client.Response;
-import org.elasticsearch.client.ResponseException;
-import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.search.SearchHits;
-import org.elasticsearch.search.aggregations.AggregationBuilder;
-import org.elasticsearch.search.aggregations.Aggregations;
-import org.elasticsearch.search.builder.SearchSourceBuilder;
-import org.elasticsearch.search.fetch.subphase.FetchSourceContext;
-import org.elasticsearch.search.sort.SortBuilder;
import org.kitodo.data.elasticsearch.KitodoRestClient;
import org.kitodo.data.elasticsearch.exceptions.CustomResponseException;
import org.kitodo.data.exceptions.DataException;
+import org.opensearch.action.get.GetRequest;
+import org.opensearch.action.get.GetResponse;
+import org.opensearch.action.get.MultiGetItemResponse;
+import org.opensearch.action.get.MultiGetRequest;
+import org.opensearch.action.get.MultiGetResponse;
+import org.opensearch.action.search.SearchRequest;
+import org.opensearch.action.search.SearchResponse;
+import org.opensearch.client.Request;
+import org.opensearch.client.RequestOptions;
+import org.opensearch.client.Response;
+import org.opensearch.client.ResponseException;
+import org.opensearch.index.query.QueryBuilder;
+import org.opensearch.search.SearchHits;
+import org.opensearch.search.aggregations.AggregationBuilder;
+import org.opensearch.search.aggregations.Aggregations;
+import org.opensearch.search.builder.SearchSourceBuilder;
+import org.opensearch.search.fetch.subphase.FetchSourceContext;
+import org.opensearch.search.sort.SortBuilder;
/**
* Extension of KitodoRestClient for search package.
diff --git a/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/search/Searcher.java b/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/search/Searcher.java
index c3e99897a31..5b7233f61d9 100644
--- a/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/search/Searcher.java
+++ b/Kitodo-DataManagement/src/main/java/org/kitodo/data/elasticsearch/search/Searcher.java
@@ -22,16 +22,16 @@
import javax.json.JsonObject;
import javax.json.JsonReader;
-import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryBuilders;
-import org.elasticsearch.search.SearchHit;
-import org.elasticsearch.search.SearchHits;
-import org.elasticsearch.search.aggregations.AggregationBuilder;
-import org.elasticsearch.search.aggregations.Aggregations;
-import org.elasticsearch.search.sort.SortBuilder;
import org.kitodo.data.elasticsearch.Index;
import org.kitodo.data.elasticsearch.exceptions.CustomResponseException;
import org.kitodo.data.exceptions.DataException;
+import org.opensearch.index.query.QueryBuilder;
+import org.opensearch.index.query.QueryBuilders;
+import org.opensearch.search.SearchHit;
+import org.opensearch.search.SearchHits;
+import org.opensearch.search.aggregations.AggregationBuilder;
+import org.opensearch.search.aggregations.Aggregations;
+import org.opensearch.search.sort.SortBuilder;
/**
* Implementation of ElasticSearch Searcher for Kitodo - Data Management
diff --git a/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/ExtendedNode.java b/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/ExtendedNode.java
index 7cdfebe5e4b..4c18d02bfae 100644
--- a/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/ExtendedNode.java
+++ b/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/ExtendedNode.java
@@ -16,10 +16,10 @@
import java.util.Collections;
import java.util.function.Supplier;
-import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.node.InternalSettingsPreparer;
-import org.elasticsearch.node.Node;
-import org.elasticsearch.plugins.Plugin;
+import org.opensearch.common.settings.Settings;
+import org.opensearch.node.InternalSettingsPreparer;
+import org.opensearch.node.Node;
+import org.opensearch.plugins.Plugin;
/**
* Class extends standard Node class to give possibility for using own REST
diff --git a/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/MockEntity.java b/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/MockEntity.java
index c59b7a1ba56..80c2db53489 100644
--- a/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/MockEntity.java
+++ b/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/MockEntity.java
@@ -24,10 +24,10 @@
import org.apache.commons.io.FileUtils;
import org.awaitility.Awaitility;
import org.awaitility.Durations;
-import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.node.Node;
-import org.elasticsearch.transport.Netty4Plugin;
import org.kitodo.config.ConfigMain;
+import org.opensearch.common.settings.Settings;
+import org.opensearch.node.Node;
+import org.opensearch.transport.Netty4Plugin;
/**
diff --git a/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/index/IndexRestClientIT.java b/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/index/IndexRestClientIT.java
index 43c47660b4f..26652071010 100644
--- a/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/index/IndexRestClientIT.java
+++ b/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/index/IndexRestClientIT.java
@@ -16,7 +16,7 @@
import java.util.Map;
-import org.elasticsearch.node.Node;
+import org.opensearch.node.Node;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeEach;
diff --git a/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/search/SearchRestClientIT.java b/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/search/SearchRestClientIT.java
index a405300f30e..f84082ffe64 100644
--- a/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/search/SearchRestClientIT.java
+++ b/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/search/SearchRestClientIT.java
@@ -16,9 +16,9 @@
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryBuilders;
-import org.elasticsearch.node.Node;
+import org.opensearch.index.query.QueryBuilder;
+import org.opensearch.index.query.QueryBuilders;
+import org.opensearch.node.Node;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
diff --git a/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/search/SearcherIT.java b/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/search/SearcherIT.java
index 3e7ca378274..4da3470c8b0 100644
--- a/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/search/SearcherIT.java
+++ b/Kitodo-DataManagement/src/test/java/org/kitodo/data/elasticsearch/search/SearcherIT.java
@@ -17,16 +17,16 @@
import java.util.Map;
import java.util.Objects;
-import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.index.query.QueryBuilders;
-import org.elasticsearch.node.Node;
-import org.elasticsearch.search.aggregations.AggregationBuilder;
-import org.elasticsearch.search.aggregations.AggregationBuilders;
-import org.elasticsearch.search.aggregations.metrics.Sum;
-import org.elasticsearch.search.aggregations.metrics.ValueCount;
-import org.elasticsearch.search.sort.FieldSortBuilder;
-import org.elasticsearch.search.sort.SortBuilder;
-import org.elasticsearch.search.sort.SortOrder;
+import org.opensearch.index.query.QueryBuilder;
+import org.opensearch.index.query.QueryBuilders;
+import org.opensearch.node.Node;
+import org.opensearch.search.aggregations.AggregationBuilder;
+import org.opensearch.search.aggregations.AggregationBuilders;
+import org.opensearch.search.aggregations.metrics.Sum;
+import org.opensearch.search.aggregations.metrics.ValueCount;
+import org.opensearch.search.sort.FieldSortBuilder;
+import org.opensearch.search.sort.SortBuilder;
+import org.opensearch.search.sort.SortOrder;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
diff --git a/Kitodo/pom.xml b/Kitodo/pom.xml
index f5fde9e9192..553293812aa 100644
--- a/Kitodo/pom.xml
+++ b/Kitodo/pom.xml
@@ -182,8 +182,12 @@
avalon-framework-impl
- org.elasticsearch.client
- transport
+ org.opensearch
+ opensearch
+
+
+ org.opensearch.plugin
+ transport-netty4-client
org.jdom
diff --git a/Kitodo/src/main/java/org/kitodo/production/forms/BatchForm.java b/Kitodo/src/main/java/org/kitodo/production/forms/BatchForm.java
index 8a960682f72..13035ef17c1 100644
--- a/Kitodo/src/main/java/org/kitodo/production/forms/BatchForm.java
+++ b/Kitodo/src/main/java/org/kitodo/production/forms/BatchForm.java
@@ -24,9 +24,6 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.elasticsearch.index.query.BoolQueryBuilder;
-import org.elasticsearch.index.query.QueryBuilder;
-import org.elasticsearch.search.sort.SortOrder;
import org.kitodo.config.ConfigCore;
import org.kitodo.config.enums.ParameterCore;
import org.kitodo.data.database.beans.Batch;
@@ -42,6 +39,9 @@
import org.kitodo.production.helper.batch.BatchProcessHelper;
import org.kitodo.production.model.LazyDTOModel;
import org.kitodo.production.services.ServiceManager;
+import org.opensearch.index.query.BoolQueryBuilder;
+import org.opensearch.index.query.QueryBuilder;
+import org.opensearch.search.sort.SortOrder;
@Named("BatchForm")
@ViewScoped
diff --git a/Kitodo/src/main/java/org/kitodo/production/forms/DesktopForm.java b/Kitodo/src/main/java/org/kitodo/production/forms/DesktopForm.java
index 1e056073113..f049aa69de6 100644
--- a/Kitodo/src/main/java/org/kitodo/production/forms/DesktopForm.java
+++ b/Kitodo/src/main/java/org/kitodo/production/forms/DesktopForm.java
@@ -22,7 +22,6 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.elasticsearch.ElasticsearchStatusException;
import org.kitodo.data.database.exceptions.DAOException;
import org.kitodo.data.exceptions.DataException;
import org.kitodo.exceptions.ProjectDeletionException;
@@ -35,6 +34,7 @@
import org.kitodo.production.services.ServiceManager;
import org.kitodo.production.services.data.ProcessService;
import org.kitodo.production.services.data.ProjectService;
+import org.opensearch.OpenSearchStatusException;
import org.primefaces.model.SortOrder;
@Named("DesktopForm")
@@ -213,7 +213,7 @@ public long getNumberOfElements(ObjectType objectType) {
return 0L;
}
- } catch (DAOException | JsonException | ElasticsearchStatusException e) {
+ } catch (DAOException | JsonException | OpenSearchStatusException e) {
Helper.setErrorMessage("Unable to load number of elements", logger, e);
}
return 0L;
diff --git a/Kitodo/src/main/java/org/kitodo/production/helper/SearchResultGeneration.java b/Kitodo/src/main/java/org/kitodo/production/helper/SearchResultGeneration.java
index 34a9acd64ef..78df92c492d 100644
--- a/Kitodo/src/main/java/org/kitodo/production/helper/SearchResultGeneration.java
+++ b/Kitodo/src/main/java/org/kitodo/production/helper/SearchResultGeneration.java
@@ -19,14 +19,14 @@
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.elasticsearch.index.query.BoolQueryBuilder;
-import org.elasticsearch.index.query.RangeQueryBuilder;
-import org.elasticsearch.search.sort.SortOrder;
import org.kitodo.data.elasticsearch.index.type.enums.ProcessTypeField;
import org.kitodo.data.exceptions.DataException;
import org.kitodo.production.dto.ProcessDTO;
import org.kitodo.production.enums.ObjectType;
import org.kitodo.production.services.ServiceManager;
+import org.opensearch.index.query.BoolQueryBuilder;
+import org.opensearch.index.query.RangeQueryBuilder;
+import org.opensearch.search.sort.SortOrder;
public class SearchResultGeneration {
diff --git a/Kitodo/src/main/java/org/kitodo/production/model/LazyDTOModel.java b/Kitodo/src/main/java/org/kitodo/production/model/LazyDTOModel.java
index 791a8268cc9..915ca3ddc32 100644
--- a/Kitodo/src/main/java/org/kitodo/production/model/LazyDTOModel.java
+++ b/Kitodo/src/main/java/org/kitodo/production/model/LazyDTOModel.java
@@ -23,8 +23,6 @@
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.elasticsearch.ElasticsearchStatusException;
-import org.elasticsearch.index.query.QueryShardException;
import org.hibernate.exception.SQLGrammarException;
import org.kitodo.config.ConfigMain;
import org.kitodo.data.database.beans.BaseBean;
@@ -36,6 +34,8 @@
import org.kitodo.production.dto.BaseDTO;
import org.kitodo.production.services.data.FilterService;
import org.kitodo.production.services.data.base.SearchDatabaseService;
+import org.opensearch.OpenSearchStatusException;
+import org.opensearch.index.query.QueryShardException;
import org.primefaces.PrimeFaces;
import org.primefaces.model.FilterMeta;
import org.primefaces.model.LazyDataModel;
@@ -106,7 +106,7 @@ public List
- org.elasticsearch.client
- elasticsearch-rest-high-level-client
- ${elasticsearch.version}
-
-
- commons-codec
- commons-codec
-
-
- commons-logging
- commons-logging
-
-
+ org.opensearch
+ opensearch
+ ${opensearch.version}
+
+
+ org.opensearch
+ opensearch-core
+ ${opensearch.version}
+
+
+ org.opensearch.client
+ opensearch-rest-client
+ ${opensearch.version}
- org.elasticsearch.client
- transport
- ${elasticsearch.version}
+ org.opensearch.client
+ opensearch-rest-high-level-client
+ ${opensearch.version}
- org.elasticsearch.plugin
+ org.opensearch.plugin
transport-netty4-client
- ${elasticsearch.version}
+ ${opensearch.version}
test