You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2022/08/23 10:24:56 UTC

[james-project] 03/26: JAMES-3771 Rename backend commons files: ElasticSearch => OpenSearch

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 5e68167e3cfcc2213aacc0c60b711820482662af
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Fri Aug 5 10:13:28 2022 +0700

    JAMES-3771 Rename backend commons files: ElasticSearch => OpenSearch
---
 .../james/backends/opensearch/ClientProvider.java  |  20 +--
 .../backends/opensearch/IndexCreationFactory.java  |   2 +-
 ...iguration.java => OpenSearchConfiguration.java} |  26 ++--
 ...HealthCheck.java => OpenSearchHealthCheck.java} |   4 +-
 ...icSearchIndexer.java => OpenSearchIndexer.java} |   8 +-
 ...iderImplConnectionAuthESIgnoreSSLCheckTest.java |  14 +-
 ...ImplConnectionAuthESOverrideTrustStoreTest.java |  16 +-
 .../ClientProviderImplConnectionContract.java      |  20 +--
 .../ClientProviderImplConnectionNoAuthESTest.java  |   4 +-
 .../DockerAuthElasticSearchSingleton.java          |   2 +-
 .../opensearch/DockerElasticSearchExtension.java   |   6 +-
 .../opensearch/DockerElasticSearchRule.java        |  14 +-
 .../opensearch/DockerElasticSearchSingleton.java   |   2 +-
 ...kerElasticSearch.java => DockerOpenSearch.java} |  46 +++---
 .../opensearch/IndexCreationFactoryTest.java       |  24 +--
 ...ension.java => OpenSearchClusterExtension.java} |  16 +-
 ...nTest.java => OpenSearchConfigurationTest.java} | 172 ++++++++++-----------
 ...va => OpenSearchHealthCheckConnectionTest.java} |  10 +-
 ...eckTest.java => OpenSearchHealthCheckTest.java} |  10 +-
 ...IndexerTest.java => OpenSearchIndexerTest.java} |  16 +-
 .../opensearch/search/ScrolledSearchTest.java      |  12 +-
 .../opensearch/MailboxIndexCreationUtil.java       |   6 +-
 .../ElasticSearchListeningMessageSearchIndex.java  |  18 +--
 .../opensearch/ElasticSearchIntegrationTest.java   |  22 +--
 ...asticSearchListeningMessageSearchIndexTest.java |  10 +-
 .../search/ElasticSearchSearcherTest.java          |  28 ++--
 .../opensearch/QuotaSearchIndexCreationUtil.java   |   6 +-
 .../events/ElasticSearchQuotaMailboxListener.java  |   6 +-
 ...lasticSearchQuotaSearchTestSystemExtension.java |   8 +-
 .../ElasticSearchQuotaMailboxListenerTest.java     |   8 +-
 .../elasticsearch/host/OpenSearchHostSystem.java   |  24 +--
 .../apache/james/DockerElasticSearchExtension.java |  20 +--
 .../org/apache/james/DockerElasticSearchRule.java  |   6 +-
 ...esWithNonCompatibleElasticSearchServerTest.java |   4 +-
 .../modules/TestDockerElasticSearchModule.java     |  14 +-
 .../apache/james/DockerElasticSearchExtension.java |  20 +--
 .../org/apache/james/DockerElasticSearchRule.java  |   6 +-
 .../modules/TestDockerElasticSearchModule.java     |  14 +-
 .../modules/mailbox/ElasticSearchClientModule.java |   4 +-
 .../mailbox/ElasticSearchMailboxModule.java        |  24 +--
 .../mailbox/ElasticSearchQuotaSearcherModule.java  |  10 +-
 .../modules/mailbox/ElasticSearchStartUpCheck.java |   4 +-
 .../mailbox/ElasticSearchMailboxModuleTest.java    |   4 +-
 .../routes/ElasticSearchQuotaSearchExtension.java  |  12 +-
 .../james/webadmin/routes/MailboxesRoutesTest.java |  22 +--
 .../webadmin/routes/UserMailboxesRoutesTest.java   |  22 +--
 46 files changed, 383 insertions(+), 383 deletions(-)

diff --git a/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ClientProvider.java b/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ClientProvider.java
index 11c3eeed38..0ad8bf9b18 100644
--- a/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ClientProvider.java
+++ b/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ClientProvider.java
@@ -61,9 +61,9 @@ public class ClientProvider implements Provider<ReactorElasticSearchClient> {
         private static final TrustStrategy TRUST_ALL = (x509Certificates, authType) -> true;
         private static final HostnameVerifier ACCEPT_ANY_HOSTNAME = (hostname, sslSession) -> true;
 
-        private final ElasticSearchConfiguration configuration;
+        private final OpenSearchConfiguration configuration;
 
-        private HttpAsyncClientConfigurer(ElasticSearchConfiguration configuration) {
+        private HttpAsyncClientConfigurer(OpenSearchConfiguration configuration) {
             this.configuration = configuration;
         }
 
@@ -81,7 +81,7 @@ public class ClientProvider implements Provider<ReactorElasticSearchClient> {
         }
 
         private void configureHostScheme(HttpAsyncClientBuilder builder) {
-            ElasticSearchConfiguration.HostScheme scheme = configuration.getHostScheme();
+            OpenSearchConfiguration.HostScheme scheme = configuration.getHostScheme();
 
             switch (scheme) {
                 case HTTP:
@@ -114,7 +114,7 @@ public class ClientProvider implements Provider<ReactorElasticSearchClient> {
 
             SSLContextBuilder sslContextBuilder = new SSLContextBuilder();
 
-            ElasticSearchConfiguration.SSLConfiguration.SSLValidationStrategy strategy = configuration.getSslConfiguration()
+            OpenSearchConfiguration.SSLConfiguration.SSLValidationStrategy strategy = configuration.getSslConfiguration()
                 .getStrategy();
 
             switch (strategy) {
@@ -133,7 +133,7 @@ public class ClientProvider implements Provider<ReactorElasticSearchClient> {
         }
 
         private HostnameVerifier hostnameVerifier() {
-            ElasticSearchConfiguration.SSLConfiguration.HostNameVerifier hostnameVerifier = configuration.getSslConfiguration()
+            OpenSearchConfiguration.SSLConfiguration.HostNameVerifier hostnameVerifier = configuration.getSslConfiguration()
                 .getHostNameVerifier();
 
             switch (hostnameVerifier) {
@@ -158,7 +158,7 @@ public class ClientProvider implements Provider<ReactorElasticSearchClient> {
         private SSLContextBuilder applyTrustStore(SSLContextBuilder sslContextBuilder) throws CertificateException, NoSuchAlgorithmException,
             KeyStoreException, IOException {
 
-            ElasticSearchConfiguration.SSLConfiguration.SSLTrustStore trustStore = configuration.getSslConfiguration()
+            OpenSearchConfiguration.SSLConfiguration.SSLTrustStore trustStore = configuration.getSslConfiguration()
                 .getTrustStore()
                 .orElseThrow(() -> new IllegalStateException("SSLTrustStore cannot to be empty"));
 
@@ -180,20 +180,20 @@ public class ClientProvider implements Provider<ReactorElasticSearchClient> {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(ClientProvider.class);
 
-    private final ElasticSearchConfiguration configuration;
+    private final OpenSearchConfiguration configuration;
     private final RestHighLevelClient elasticSearchRestHighLevelClient;
     private final HttpAsyncClientConfigurer httpAsyncClientConfigurer;
     private final ReactorElasticSearchClient client;
 
     @Inject
-    public ClientProvider(ElasticSearchConfiguration configuration) {
+    public ClientProvider(OpenSearchConfiguration configuration) {
         this.httpAsyncClientConfigurer = new HttpAsyncClientConfigurer(configuration);
         this.configuration = configuration;
         this.elasticSearchRestHighLevelClient = connect(configuration);
         this.client = new ReactorElasticSearchClient(this.elasticSearchRestHighLevelClient);
     }
 
-    private RestHighLevelClient connect(ElasticSearchConfiguration configuration) {
+    private RestHighLevelClient connect(OpenSearchConfiguration configuration) {
         Duration waitDelay = Duration.ofMillis(configuration.getMinDelay());
         boolean suppressLeadingZeroElements = true;
         boolean suppressTrailingZeroElements = true;
@@ -204,7 +204,7 @@ public class ClientProvider implements Provider<ReactorElasticSearchClient> {
             .block();
     }
 
-    private RestHighLevelClient connectToCluster(ElasticSearchConfiguration configuration) {
+    private RestHighLevelClient connectToCluster(OpenSearchConfiguration configuration) {
         LOGGER.info("Trying to connect to ElasticSearch service at {}", LocalDateTime.now());
 
         return new RestHighLevelClient(
diff --git a/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/IndexCreationFactory.java b/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/IndexCreationFactory.java
index d5b0dbc0be..7befb6fd4b 100644
--- a/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/IndexCreationFactory.java
+++ b/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/IndexCreationFactory.java
@@ -312,7 +312,7 @@ public class IndexCreationFactory {
     public static final String SEARCH_ANALYZER = "search_analyzer";
 
     @Inject
-    public IndexCreationFactory(ElasticSearchConfiguration configuration) {
+    public IndexCreationFactory(OpenSearchConfiguration configuration) {
         this.nbShards = configuration.getNbShards();
         this.nbReplica = configuration.getNbReplica();
         this.waitForActiveShards = configuration.getWaitForActiveShards();
diff --git a/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ElasticSearchConfiguration.java b/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/OpenSearchConfiguration.java
similarity index 95%
rename from backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ElasticSearchConfiguration.java
rename to backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/OpenSearchConfiguration.java
index edee7fd316..cb205e753e 100644
--- a/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ElasticSearchConfiguration.java
+++ b/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/OpenSearchConfiguration.java
@@ -19,7 +19,7 @@
 
 package org.apache.james.backends.opensearch;
 
-import static org.apache.james.backends.opensearch.ElasticSearchConfiguration.SSLConfiguration.SSLValidationStrategy.OVERRIDE;
+import static org.apache.james.backends.opensearch.OpenSearchConfiguration.SSLConfiguration.SSLValidationStrategy.OVERRIDE;
 
 import java.io.File;
 import java.nio.file.Files;
@@ -35,16 +35,16 @@ import java.util.stream.Stream;
 
 import org.apache.commons.configuration2.Configuration;
 import org.apache.commons.configuration2.ex.ConfigurationException;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.SSLConfiguration.HostNameVerifier;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.SSLConfiguration.SSLTrustStore;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.SSLConfiguration.SSLValidationStrategy;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.SSLConfiguration.HostNameVerifier;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.SSLConfiguration.SSLTrustStore;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.SSLConfiguration.SSLValidationStrategy;
 import org.apache.james.util.Host;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 
-public class ElasticSearchConfiguration {
+public class OpenSearchConfiguration {
 
     public enum HostScheme {
         HTTP("http"),
@@ -405,10 +405,10 @@ public class ElasticSearchConfiguration {
             return this;
         }
 
-        public ElasticSearchConfiguration build() {
+        public OpenSearchConfiguration build() {
             ImmutableList<Host> hosts = this.hosts.build();
             Preconditions.checkState(!hosts.isEmpty(), "You need to specify ElasticSearch host");
-            return new ElasticSearchConfiguration(
+            return new OpenSearchConfiguration(
                 hosts,
                 nbShards.orElse(DEFAULT_NB_SHARDS),
                 nbReplica.orElse(DEFAULT_NB_REPLICA),
@@ -460,11 +460,11 @@ public class ElasticSearchConfiguration {
     public static final HostScheme DEFAULT_SCHEME = HostScheme.HTTP;
     public static final SSLConfiguration DEFAULT_SSL_TRUST_CONFIGURATION = SSLConfiguration.defaultBehavior();
 
-    public static final ElasticSearchConfiguration DEFAULT_CONFIGURATION = builder()
+    public static final OpenSearchConfiguration DEFAULT_CONFIGURATION = builder()
         .addHost(Host.from(LOCALHOST, DEFAULT_PORT))
         .build();
 
-    public static ElasticSearchConfiguration fromProperties(Configuration configuration) throws ConfigurationException {
+    public static OpenSearchConfiguration fromProperties(Configuration configuration) throws ConfigurationException {
         return builder()
             .addHosts(getHosts(configuration))
             .hostScheme(getHostScheme(configuration))
@@ -574,8 +574,8 @@ public class ElasticSearchConfiguration {
     private final Optional<Integer> maxConnectionsPerHost;
     private final List<String> searchOverrides;
 
-    private ElasticSearchConfiguration(ImmutableList<Host> hosts, int nbShards, int nbReplica, int waitForActiveShards, int minDelay, int maxRetries, Duration requestTimeout,
-                                       HostScheme hostScheme, Optional<Credential> credential, SSLConfiguration sslConfiguration, Optional<Integer> maxConnections, Optional<Integer> maxConnectionsPerHost, List<String> searchOverrides) {
+    private OpenSearchConfiguration(ImmutableList<Host> hosts, int nbShards, int nbReplica, int waitForActiveShards, int minDelay, int maxRetries, Duration requestTimeout,
+                                    HostScheme hostScheme, Optional<Credential> credential, SSLConfiguration sslConfiguration, Optional<Integer> maxConnections, Optional<Integer> maxConnectionsPerHost, List<String> searchOverrides) {
         this.hosts = hosts;
         this.nbShards = nbShards;
         this.nbReplica = nbReplica;
@@ -645,8 +645,8 @@ public class ElasticSearchConfiguration {
 
     @Override
     public final boolean equals(Object o) {
-        if (o instanceof ElasticSearchConfiguration) {
-            ElasticSearchConfiguration that = (ElasticSearchConfiguration) o;
+        if (o instanceof OpenSearchConfiguration) {
+            OpenSearchConfiguration that = (OpenSearchConfiguration) o;
 
             return Objects.equals(this.nbShards, that.nbShards)
                 && Objects.equals(this.nbReplica, that.nbReplica)
diff --git a/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ElasticSearchHealthCheck.java b/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/OpenSearchHealthCheck.java
similarity index 95%
rename from backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ElasticSearchHealthCheck.java
rename to backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/OpenSearchHealthCheck.java
index a2b51cf65c..48aadebd70 100644
--- a/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ElasticSearchHealthCheck.java
+++ b/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/OpenSearchHealthCheck.java
@@ -36,14 +36,14 @@ import com.google.common.annotations.VisibleForTesting;
 
 import reactor.core.publisher.Mono;
 
-public class ElasticSearchHealthCheck implements HealthCheck {
+public class OpenSearchHealthCheck implements HealthCheck {
     private static final ComponentName COMPONENT_NAME = new ComponentName("ElasticSearch Backend");
 
     private final Set<IndexName> indexNames;
     private final ReactorElasticSearchClient client;
 
     @Inject
-    ElasticSearchHealthCheck(ReactorElasticSearchClient client, Set<IndexName> indexNames) {
+    OpenSearchHealthCheck(ReactorElasticSearchClient client, Set<IndexName> indexNames) {
         this.client = client;
         this.indexNames = indexNames;
     }
diff --git a/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ElasticSearchIndexer.java b/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/OpenSearchIndexer.java
similarity index 96%
rename from backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ElasticSearchIndexer.java
rename to backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/OpenSearchIndexer.java
index b3e59e4a05..711fd0d181 100644
--- a/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/ElasticSearchIndexer.java
+++ b/backends-common/opensearch/src/main/java/org/apache/james/backends/opensearch/OpenSearchIndexer.java
@@ -40,17 +40,17 @@ import com.google.common.base.Preconditions;
 
 import reactor.core.publisher.Mono;
 
-public class ElasticSearchIndexer {
+public class OpenSearchIndexer {
     private static final int DEBUG_MAX_LENGTH_CONTENT = 1000;
 
-    private static final Logger LOGGER = LoggerFactory.getLogger(ElasticSearchIndexer.class);
+    private static final Logger LOGGER = LoggerFactory.getLogger(OpenSearchIndexer.class);
 
     private final ReactorElasticSearchClient client;
     private final AliasName aliasName;
     private final DeleteByQueryPerformer deleteByQueryPerformer;
 
-    public ElasticSearchIndexer(ReactorElasticSearchClient client,
-                                WriteAliasName aliasName) {
+    public OpenSearchIndexer(ReactorElasticSearchClient client,
+                             WriteAliasName aliasName) {
         this.client = client;
         this.deleteByQueryPerformer = new DeleteByQueryPerformer(client, aliasName);
         this.aliasName = aliasName;
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionAuthESIgnoreSSLCheckTest.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionAuthESIgnoreSSLCheckTest.java
index 8b147072a2..a4a7336073 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionAuthESIgnoreSSLCheckTest.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionAuthESIgnoreSSLCheckTest.java
@@ -21,21 +21,21 @@ package org.apache.james.backends.opensearch;
 
 import java.util.Optional;
 
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.HostScheme;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.SSLConfiguration;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.HostScheme;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.SSLConfiguration;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
 class ClientProviderImplConnectionAuthESIgnoreSSLCheckTest implements ClientProviderImplConnectionContract {
 
     @RegisterExtension
-    static ElasticSearchClusterExtension extension = new ElasticSearchClusterExtension(new ElasticSearchClusterExtension.ElasticSearchCluster(
+    static OpenSearchClusterExtension extension = new OpenSearchClusterExtension(new OpenSearchClusterExtension.OpenSearchCluster(
         DockerAuthElasticSearchSingleton.INSTANCE,
-        new DockerElasticSearch.WithAuth()));
+        new DockerOpenSearch.WithAuth()));
 
     @Override
-    public ElasticSearchConfiguration.Builder configurationBuilder() {
-        return ElasticSearchConfiguration.builder()
-            .credential(Optional.of(DockerElasticSearch.WithAuth.DEFAULT_CREDENTIAL))
+    public OpenSearchConfiguration.Builder configurationBuilder() {
+        return OpenSearchConfiguration.builder()
+            .credential(Optional.of(DockerOpenSearch.WithAuth.DEFAULT_CREDENTIAL))
             .hostScheme(Optional.of(HostScheme.HTTPS))
             .sslTrustConfiguration(SSLConfiguration.builder()
                 .strategyIgnore()
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionAuthESOverrideTrustStoreTest.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionAuthESOverrideTrustStoreTest.java
index fbca0b80f0..e8a0b4b8ec 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionAuthESOverrideTrustStoreTest.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionAuthESOverrideTrustStoreTest.java
@@ -21,8 +21,8 @@ package org.apache.james.backends.opensearch;
 
 import java.util.Optional;
 
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.SSLConfiguration;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.SSLConfiguration.SSLTrustStore;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.SSLConfiguration;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.SSLConfiguration.SSLTrustStore;
 import org.junit.jupiter.api.extension.RegisterExtension;
 
 public class ClientProviderImplConnectionAuthESOverrideTrustStoreTest implements ClientProviderImplConnectionContract {
@@ -31,15 +31,15 @@ public class ClientProviderImplConnectionAuthESOverrideTrustStoreTest implements
     private static final String TRUST_STORE_FILE_PATH = "src/test/resources/auth-es/server.jks";
 
     @RegisterExtension
-    static ElasticSearchClusterExtension extension = new ElasticSearchClusterExtension(new ElasticSearchClusterExtension.ElasticSearchCluster(
+    static OpenSearchClusterExtension extension = new OpenSearchClusterExtension(new OpenSearchClusterExtension.OpenSearchCluster(
         DockerAuthElasticSearchSingleton.INSTANCE,
-        new DockerElasticSearch.WithAuth()));
+        new DockerOpenSearch.WithAuth()));
 
     @Override
-    public ElasticSearchConfiguration.Builder configurationBuilder() {
-        return ElasticSearchConfiguration.builder()
-            .credential(Optional.of(DockerElasticSearch.WithAuth.DEFAULT_CREDENTIAL))
-            .hostScheme(Optional.of(ElasticSearchConfiguration.HostScheme.HTTPS))
+    public OpenSearchConfiguration.Builder configurationBuilder() {
+        return OpenSearchConfiguration.builder()
+            .credential(Optional.of(DockerOpenSearch.WithAuth.DEFAULT_CREDENTIAL))
+            .hostScheme(Optional.of(OpenSearchConfiguration.HostScheme.HTTPS))
             .sslTrustConfiguration(SSLConfiguration.builder()
                 .strategyOverride(SSLTrustStore.of(TRUST_STORE_FILE_PATH, TRUST_STORE_PASSWORD))
                 .acceptAnyHostNameVerifier()
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionContract.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionContract.java
index 260ae2c8d7..9fe764172d 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionContract.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionContract.java
@@ -21,13 +21,13 @@ package org.apache.james.backends.opensearch;
 
 import java.util.concurrent.TimeUnit;
 
-import org.apache.james.backends.opensearch.ElasticSearchClusterExtension.ElasticSearchCluster;
+import org.apache.james.backends.opensearch.OpenSearchClusterExtension.OpenSearchCluster;
 import org.awaitility.Awaitility;
+import org.junit.jupiter.api.Test;
 import org.opensearch.action.search.SearchRequest;
 import org.opensearch.client.RequestOptions;
 import org.opensearch.index.query.QueryBuilders;
 import org.opensearch.search.builder.SearchSourceBuilder;
-import org.junit.jupiter.api.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -36,8 +36,8 @@ interface ClientProviderImplConnectionContract {
     Logger LOGGER = LoggerFactory.getLogger(ClientProviderImplConnectionContract.class);
 
     @Test
-    default void connectingASingleServerShouldWork(ElasticSearchCluster esCluster) {
-        ElasticSearchConfiguration configuration = configurationBuilder()
+    default void connectingASingleServerShouldWork(OpenSearchCluster esCluster) {
+        OpenSearchConfiguration configuration = configurationBuilder()
             .addHost(esCluster.es1.getHttpHost())
             .build();
 
@@ -48,8 +48,8 @@ interface ClientProviderImplConnectionContract {
     }
 
     @Test
-    default void connectingAClusterShouldWork(ElasticSearchCluster esCluster) {
-        ElasticSearchConfiguration configuration = configurationBuilder()
+    default void connectingAClusterShouldWork(OpenSearchCluster esCluster) {
+        OpenSearchConfiguration configuration = configurationBuilder()
             .addHosts(esCluster.getHosts())
             .build();
 
@@ -60,8 +60,8 @@ interface ClientProviderImplConnectionContract {
     }
 
     @Test
-    default void connectingAClusterWithAFailedNodeShouldWork(ElasticSearchCluster esCluster) {
-        ElasticSearchConfiguration configuration = configurationBuilder()
+    default void connectingAClusterWithAFailedNodeShouldWork(OpenSearchCluster esCluster) {
+        OpenSearchConfiguration configuration = configurationBuilder()
             .addHosts(esCluster.getHosts())
             .build();
 
@@ -86,8 +86,8 @@ interface ClientProviderImplConnectionContract {
         }
     }
 
-    default ElasticSearchConfiguration.Builder configurationBuilder() {
-        return ElasticSearchConfiguration.builder();
+    default OpenSearchConfiguration.Builder configurationBuilder() {
+        return OpenSearchConfiguration.builder();
     }
 }
 
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionNoAuthESTest.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionNoAuthESTest.java
index 03ceda7409..492529d41a 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionNoAuthESTest.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ClientProviderImplConnectionNoAuthESTest.java
@@ -24,7 +24,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 class ClientProviderImplConnectionNoAuthESTest implements ClientProviderImplConnectionContract {
 
     @RegisterExtension
-    static ElasticSearchClusterExtension extension = new ElasticSearchClusterExtension(new ElasticSearchClusterExtension.ElasticSearchCluster(
+    static OpenSearchClusterExtension extension = new OpenSearchClusterExtension(new OpenSearchClusterExtension.OpenSearchCluster(
         DockerElasticSearchSingleton.INSTANCE,
-        new DockerElasticSearch.NoAuth()));
+        new DockerOpenSearch.NoAuth()));
 }
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerAuthElasticSearchSingleton.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerAuthElasticSearchSingleton.java
index ebf60c8d41..0dfe2551b7 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerAuthElasticSearchSingleton.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerAuthElasticSearchSingleton.java
@@ -20,7 +20,7 @@
 package org.apache.james.backends.opensearch;
 
 public class DockerAuthElasticSearchSingleton {
-    public static DockerElasticSearch INSTANCE = new DockerElasticSearch.WithAuth();
+    public static DockerOpenSearch INSTANCE = new DockerOpenSearch.WithAuth();
 
     static {
         INSTANCE.start();
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchExtension.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchExtension.java
index 0e0914c0c2..25b93ac740 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchExtension.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchExtension.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.api.extension.ParameterResolver;
 
 public class DockerElasticSearchExtension implements AfterEachCallback, BeforeEachCallback, ParameterResolver {
 
-    private final DockerElasticSearch elasticSearch = DockerElasticSearchSingleton.INSTANCE;
+    private final DockerOpenSearch elasticSearch = DockerElasticSearchSingleton.INSTANCE;
 
     @Override
     public void afterEach(ExtensionContext context) {
@@ -45,7 +45,7 @@ public class DockerElasticSearchExtension implements AfterEachCallback, BeforeEa
 
     @Override
     public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
-        return (parameterContext.getParameter().getType() == DockerElasticSearch.class);
+        return (parameterContext.getParameter().getType() == DockerOpenSearch.class);
     }
 
     @Override
@@ -57,7 +57,7 @@ public class DockerElasticSearchExtension implements AfterEachCallback, BeforeEa
         elasticSearch.flushIndices();
     }
 
-    public DockerElasticSearch getDockerElasticSearch() {
+    public DockerOpenSearch getDockerElasticSearch() {
         return elasticSearch;
     }
 }
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchRule.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchRule.java
index f4fdbbc461..c70e205e47 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchRule.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchRule.java
@@ -23,27 +23,27 @@ import org.junit.rules.ExternalResource;
 
 public class DockerElasticSearchRule extends ExternalResource {
 
-    private final DockerElasticSearch dockerElasticSearch = DockerElasticSearchSingleton.INSTANCE;
+    private final DockerOpenSearch dockerOpenSearch = DockerElasticSearchSingleton.INSTANCE;
 
     @Override
     protected void before() {
-        dockerElasticSearch.start();
+        dockerOpenSearch.start();
     }
 
     @Override
     protected void after() {
-        dockerElasticSearch.cleanUpData();
+        dockerOpenSearch.cleanUpData();
     }
 
     public ClientProvider clientProvider() {
-        return dockerElasticSearch.clientProvider();
+        return dockerOpenSearch.clientProvider();
     }
 
     public void awaitForElasticSearch() {
-        dockerElasticSearch.flushIndices();
+        dockerOpenSearch.flushIndices();
     }
 
-    public DockerElasticSearch getDockerElasticSearch() {
-        return dockerElasticSearch;
+    public DockerOpenSearch getDockerElasticSearch() {
+        return dockerOpenSearch;
     }
 }
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchSingleton.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchSingleton.java
index 7b5a2a174e..fb87f00c91 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchSingleton.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearchSingleton.java
@@ -20,7 +20,7 @@
 package org.apache.james.backends.opensearch;
 
 public class DockerElasticSearchSingleton {
-    public static DockerElasticSearch INSTANCE = new DockerElasticSearch.NoAuth();
+    public static DockerOpenSearch INSTANCE = new DockerOpenSearch.NoAuth();
 
     static {
         INSTANCE.start();
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearch.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerOpenSearch.java
similarity index 88%
rename from backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearch.java
rename to backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerOpenSearch.java
index 2f37b8820a..0b70cf9240 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerElasticSearch.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/DockerOpenSearch.java
@@ -19,8 +19,8 @@
 
 package org.apache.james.backends.opensearch;
 
-import static org.apache.james.backends.opensearch.DockerElasticSearch.Fixture.ES_HTTP_PORT;
-import static org.apache.james.backends.opensearch.DockerElasticSearch.Fixture.ES_MEMORY;
+import static org.apache.james.backends.opensearch.DockerOpenSearch.Fixture.ES_HTTP_PORT;
+import static org.apache.james.backends.opensearch.DockerOpenSearch.Fixture.ES_MEMORY;
 
 import java.net.MalformedURLException;
 import java.net.URL;
@@ -37,8 +37,8 @@ import javax.net.ssl.TrustManager;
 import javax.net.ssl.X509TrustManager;
 
 import org.apache.http.HttpStatus;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.Credential;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.HostScheme;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.Credential;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.HostScheme;
 import org.apache.james.util.Host;
 import org.apache.james.util.docker.DockerContainer;
 import org.apache.james.util.docker.Images;
@@ -59,9 +59,9 @@ import feign.Response;
 import feign.auth.BasicAuthRequestInterceptor;
 import feign.slf4j.Slf4jLogger;
 
-public interface DockerElasticSearch {
+public interface DockerOpenSearch {
 
-    interface ElasticSearchAPI {
+    interface OpenSearchAPI {
 
         class Builder {
             private static final HostnameVerifier ACCEPT_ANY_HOST = (hostname, sslSession) -> true;
@@ -86,7 +86,7 @@ public interface DockerElasticSearch {
             public Builder(URL esURL) {
                 this.esURL = esURL;
                 this.requestBuilder = Feign.builder()
-                    .logger(new Slf4jLogger(ElasticSearchAPI.class))
+                    .logger(new Slf4jLogger(OpenSearchAPI.class))
                     .logLevel(Logger.Level.FULL);
             }
 
@@ -108,8 +108,8 @@ public interface DockerElasticSearch {
                 return this;
             }
 
-            public ElasticSearchAPI build() {
-                return requestBuilder.target(ElasticSearchAPI.class, esURL.toString());
+            public OpenSearchAPI build() {
+                return requestBuilder.target(OpenSearchAPI.class, esURL.toString());
             }
         }
 
@@ -129,7 +129,7 @@ public interface DockerElasticSearch {
         int ES_MEMORY = 620;
     }
 
-    class NoAuth implements DockerElasticSearch {
+    class NoAuth implements DockerOpenSearch {
 
         static DockerContainer defaultContainer(String imageName) {
             return DockerContainer.fromName(imageName)
@@ -194,7 +194,7 @@ public interface DockerElasticSearch {
         }
     }
 
-    class WithAuth implements DockerElasticSearch {
+    class WithAuth implements DockerOpenSearch {
 
         private static final org.slf4j.Logger LOGGER = LoggerFactory.getLogger(WithAuth.class);
 
@@ -203,7 +203,7 @@ public interface DockerElasticSearch {
         public static final Credential DEFAULT_CREDENTIAL =
             Credential.of(DEFAULT_USERNAME, DEFAULT_PASSWORD);
 
-        private final DockerElasticSearch.NoAuth elasticSearch;
+        private final DockerOpenSearch.NoAuth elasticSearch;
         private final DockerContainer nginx;
         private final Network network;
 
@@ -213,8 +213,8 @@ public interface DockerElasticSearch {
 
         WithAuth(String imageName) {
             this.network = Network.newNetwork();
-            this.elasticSearch = new DockerElasticSearch.NoAuth(
-                DockerElasticSearch.NoAuth
+            this.elasticSearch = new DockerOpenSearch.NoAuth(
+                DockerOpenSearch.NoAuth
                     .defaultContainer(imageName)
                     .withLogConsumer(frame -> LOGGER.debug("[ElasticSearch] " + frame.getUtf8String()))
                     .withNetwork(network)
@@ -253,9 +253,9 @@ public interface DockerElasticSearch {
         }
 
         @Override
-        public ElasticSearchAPI esAPI() {
+        public OpenSearchAPI esAPI() {
             try {
-                return ElasticSearchAPI.builder(getUrl())
+                return OpenSearchAPI.builder(getUrl())
                     .credential(DEFAULT_CREDENTIAL)
                     .disableSSLValidation()
                     .build();
@@ -274,7 +274,7 @@ public interface DockerElasticSearch {
         }
 
         @Override
-        public ElasticSearchConfiguration configuration(Optional<Duration> requestTimeout) {
+        public OpenSearchConfiguration configuration(Optional<Duration> requestTimeout) {
             return configurationBuilder(requestTimeout)
                 .hostScheme(Optional.of(HostScheme.HTTPS))
                 .build();
@@ -334,18 +334,18 @@ public interface DockerElasticSearch {
         }
     }
 
-    default ElasticSearchConfiguration configuration(Optional<Duration> requestTimeout) {
+    default OpenSearchConfiguration configuration(Optional<Duration> requestTimeout) {
         return configurationBuilder(requestTimeout)
             .build();
     }
 
-    default ElasticSearchConfiguration.Builder configurationBuilder(Optional<Duration> requestTimeout) {
-        return ElasticSearchConfiguration.builder()
+    default OpenSearchConfiguration.Builder configurationBuilder(Optional<Duration> requestTimeout) {
+        return OpenSearchConfiguration.builder()
             .addHost(getHttpHost())
             .requestTimeout(requestTimeout);
     }
 
-    default ElasticSearchConfiguration configuration() {
+    default OpenSearchConfiguration configuration() {
         return configuration(Optional.empty());
     }
 
@@ -357,8 +357,8 @@ public interface DockerElasticSearch {
         return new ClientProvider(configuration(Optional.of(requestTimeout)));
     }
 
-    default ElasticSearchAPI esAPI() {
-        return ElasticSearchAPI.builder(getUrl())
+    default OpenSearchAPI esAPI() {
+        return OpenSearchAPI.builder(getUrl())
             .build();
     }
 }
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/IndexCreationFactoryTest.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/IndexCreationFactoryTest.java
index e7c4d77d88..6e3b442fd6 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/IndexCreationFactoryTest.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/IndexCreationFactoryTest.java
@@ -29,12 +29,12 @@ import java.io.IOException;
 import java.util.Optional;
 
 import org.apache.james.backends.opensearch.IndexCreationFactory.IndexCreationCustomElement;
-import org.opensearch.OpenSearchStatusException;
-import org.opensearch.common.xcontent.XContentBuilder;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
+import org.opensearch.OpenSearchStatusException;
+import org.opensearch.common.xcontent.XContentBuilder;
 
 class IndexCreationFactoryTest {
     private static final IndexName INDEX_NAME = new IndexName("index");
@@ -109,12 +109,12 @@ class IndexCreationFactoryTest {
 
     @Test
     void createIndexAndAliasShouldNotThrowWhenCalledSeveralTime() {
-        new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+        new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
             .useIndex(INDEX_NAME)
             .addAlias(ALIAS_NAME)
             .createIndexAndAliases(client);
 
-        new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+        new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
             .useIndex(INDEX_NAME)
             .addAlias(ALIAS_NAME)
             .createIndexAndAliases(client);
@@ -123,14 +123,14 @@ class IndexCreationFactoryTest {
     @Test
     void useIndexShouldThrowWhenNull() {
         assertThatThrownBy(() ->
-            new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+            new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
                 .useIndex(null))
             .isInstanceOf(NullPointerException.class);
     }
 
     @Test
     void customAnalyzerShouldNotThrowWhenValidAnalyzer() {
-        new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+        new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
             .useIndex(INDEX_NAME)
             .addAlias(ALIAS_NAME)
             .customAnalyzers(IndexCreationCustomElement.from("{" +
@@ -152,7 +152,7 @@ class IndexCreationFactoryTest {
     @Test
     void customAnalyzerShouldThrowWhenInValidAnalyzer() {
         assertThatThrownBy(() ->
-            new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+            new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
                 .useIndex(INDEX_NAME)
                 .addAlias(ALIAS_NAME)
                 .customAnalyzers(IndexCreationCustomElement.from("{" +
@@ -167,7 +167,7 @@ class IndexCreationFactoryTest {
 
     @Test
     void customTokenizersShouldNotThrowWhenValidTokenizers() {
-        new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+        new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
             .useIndex(INDEX_NAME)
             .addAlias(ALIAS_NAME)
             .customTokenizers(IndexCreationCustomElement.from("{" +
@@ -182,7 +182,7 @@ class IndexCreationFactoryTest {
     @Test
     void customTokenizersShouldThrowWhenInValidTokenizers() {
         assertThatThrownBy(() ->
-            new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+            new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
                 .useIndex(INDEX_NAME)
                 .addAlias(ALIAS_NAME)
                 .customTokenizers(IndexCreationCustomElement.from("{" +
@@ -197,7 +197,7 @@ class IndexCreationFactoryTest {
 
     @Test
     void createIndexShouldNotThrowWhenProvidedValidCustomAnalyzerAndTokenizer() {
-        new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+        new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
             .useIndex(INDEX_NAME)
             .addAlias(ALIAS_NAME)
             .customAnalyzers(IndexCreationCustomElement.from("{" +
@@ -219,7 +219,7 @@ class IndexCreationFactoryTest {
 
     @Test
     void customIndexSettingShouldNotThrowWhenValidSetting() throws IOException {
-        new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+        new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
             .useIndex(INDEX_NAME)
             .addAlias(ALIAS_NAME)
             .createIndexAndAliases(client, Optional.of(getValidIndexSetting()), Optional.empty());
@@ -228,7 +228,7 @@ class IndexCreationFactoryTest {
     @Test
     void customIndexSettingShouldThrowWhenInvalidSetting() {
         assertThatThrownBy(() ->
-            new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+            new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
                 .useIndex(INDEX_NAME)
                 .addAlias(ALIAS_NAME)
                 .createIndexAndAliases(client, Optional.of(getInvalidIndexSetting()), Optional.empty()))
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchClusterExtension.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchClusterExtension.java
similarity index 87%
rename from backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchClusterExtension.java
rename to backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchClusterExtension.java
index 3c2fbbba1e..dcf4ac4d67 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchClusterExtension.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchClusterExtension.java
@@ -38,13 +38,13 @@ import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 import reactor.core.scheduler.Schedulers;
 
-class ElasticSearchClusterExtension implements AfterAllCallback, BeforeAllCallback, AfterEachCallback, ParameterResolver {
+class OpenSearchClusterExtension implements AfterAllCallback, BeforeAllCallback, AfterEachCallback, ParameterResolver {
 
-    static class ElasticSearchCluster {
-        DockerElasticSearch es1;
-        DockerElasticSearch es2;
+    static class OpenSearchCluster {
+        DockerOpenSearch es1;
+        DockerOpenSearch es2;
 
-        ElasticSearchCluster(DockerElasticSearch es1, DockerElasticSearch es2) {
+        OpenSearchCluster(DockerOpenSearch es1, DockerOpenSearch es2) {
             this.es1 = es1;
             this.es2 = es2;
         }
@@ -85,9 +85,9 @@ class ElasticSearchClusterExtension implements AfterAllCallback, BeforeAllCallba
         }
     }
     
-    private final ElasticSearchCluster esCluster;
+    private final OpenSearchCluster esCluster;
 
-    ElasticSearchClusterExtension(ElasticSearchCluster esCluster) {
+    OpenSearchClusterExtension(OpenSearchCluster esCluster) {
         this.esCluster = esCluster;
     }
 
@@ -108,7 +108,7 @@ class ElasticSearchClusterExtension implements AfterAllCallback, BeforeAllCallba
 
     @Override
     public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
-        return parameterContext.getParameter().getType() == ElasticSearchCluster.class;
+        return parameterContext.getParameter().getType() == OpenSearchCluster.class;
     }
 
     @Override
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchConfigurationTest.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchConfigurationTest.java
similarity index 75%
rename from backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchConfigurationTest.java
rename to backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchConfigurationTest.java
index c1be0aff81..1bc7d546f0 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchConfigurationTest.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchConfigurationTest.java
@@ -27,10 +27,10 @@ import java.util.Optional;
 import org.apache.commons.configuration2.PropertiesConfiguration;
 import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler;
 import org.apache.commons.configuration2.ex.ConfigurationException;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.Credential;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.HostScheme;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.SSLConfiguration;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration.SSLConfiguration.SSLTrustStore;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.Credential;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.HostScheme;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.SSLConfiguration;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration.SSLConfiguration.SSLTrustStore;
 import org.apache.james.util.Host;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
@@ -39,7 +39,7 @@ import com.google.common.collect.ImmutableList;
 
 import nl.jqno.equalsverifier.EqualsVerifier;
 
-class ElasticSearchConfigurationTest {
+class OpenSearchConfigurationTest {
 
     @Nested
     class HostSchemeTest {
@@ -81,7 +81,7 @@ class ElasticSearchConfigurationTest {
             PropertiesConfiguration configuration = new PropertiesConfiguration();
             configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-            assertThat(ElasticSearchConfiguration.fromProperties(configuration)
+            assertThat(OpenSearchConfiguration.fromProperties(configuration)
                     .getSslConfiguration())
                 .isEqualTo(SSLConfiguration.defaultBehavior());
         }
@@ -99,7 +99,7 @@ class ElasticSearchConfigurationTest {
             configuration.addProperty("elasticsearch.hostScheme.https.trustStorePassword", trustStorePassword);
             configuration.addProperty("elasticsearch.hostScheme.https.hostNameVerifier", "default");
 
-            assertThat(ElasticSearchConfiguration.fromProperties(configuration)
+            assertThat(OpenSearchConfiguration.fromProperties(configuration)
                     .getSslConfiguration())
                 .isEqualTo(SSLConfiguration.builder()
                     .strategyOverride(SSLTrustStore.of(trustStorePath, trustStorePassword))
@@ -117,7 +117,7 @@ class ElasticSearchConfigurationTest {
 
                 configuration.addProperty("elasticsearch.hostScheme.https.sslValidationStrategy", "DEfault");
 
-                assertThat(ElasticSearchConfiguration.fromProperties(configuration)
+                assertThat(OpenSearchConfiguration.fromProperties(configuration)
                         .getSslConfiguration())
                     .isEqualTo(SSLConfiguration.defaultBehavior());
             }
@@ -129,7 +129,7 @@ class ElasticSearchConfigurationTest {
 
                 configuration.addProperty("elasticsearch.hostScheme.https.sslValidationStrategy", "invalid");
 
-                assertThatThrownBy(() -> ElasticSearchConfiguration.fromProperties(configuration))
+                assertThatThrownBy(() -> OpenSearchConfiguration.fromProperties(configuration))
                     .isInstanceOf(IllegalArgumentException.class)
                     .hasMessage("invalid strategy 'invalid'");
             }
@@ -145,7 +145,7 @@ class ElasticSearchConfigurationTest {
 
                 configuration.addProperty("elasticsearch.hostScheme.https.hostNameVerifier", "DEFAULT");
 
-                assertThat(ElasticSearchConfiguration.fromProperties(configuration)
+                assertThat(OpenSearchConfiguration.fromProperties(configuration)
                         .getSslConfiguration())
                     .isEqualTo(SSLConfiguration.builder()
                         .strategyDefault()
@@ -160,7 +160,7 @@ class ElasticSearchConfigurationTest {
 
                 configuration.addProperty("elasticsearch.hostScheme.https.hostNameVerifier", "Accept_Any_Hostname");
 
-                assertThat(ElasticSearchConfiguration.fromProperties(configuration)
+                assertThat(OpenSearchConfiguration.fromProperties(configuration)
                         .getSslConfiguration())
                     .isEqualTo(SSLConfiguration.builder()
                         .strategyDefault()
@@ -175,7 +175,7 @@ class ElasticSearchConfigurationTest {
 
                 configuration.addProperty("elasticsearch.hostScheme.https.hostNameVerifier", "invalid");
 
-                assertThatThrownBy(() -> ElasticSearchConfiguration.fromProperties(configuration))
+                assertThatThrownBy(() -> OpenSearchConfiguration.fromProperties(configuration))
                     .isInstanceOf(IllegalArgumentException.class)
                     .hasMessage("invalid HostNameVerifier 'invalid'");
             }
@@ -191,7 +191,7 @@ class ElasticSearchConfigurationTest {
 
                 configuration.addProperty("elasticsearch.hostScheme.https.sslValidationStrategy", "default");
 
-                assertThat(ElasticSearchConfiguration.fromProperties(configuration)
+                assertThat(OpenSearchConfiguration.fromProperties(configuration)
                         .getSslConfiguration())
                     .isEqualTo(SSLConfiguration.defaultBehavior());
             }
@@ -207,7 +207,7 @@ class ElasticSearchConfigurationTest {
 
                 configuration.addProperty("elasticsearch.hostScheme.https.sslValidationStrategy", "ignore");
 
-                assertThat(ElasticSearchConfiguration.fromProperties(configuration)
+                assertThat(OpenSearchConfiguration.fromProperties(configuration)
                         .getSslConfiguration())
                     .isEqualTo(SSLConfiguration.builder()
                         .strategyIgnore()
@@ -227,7 +227,7 @@ class ElasticSearchConfigurationTest {
                 configuration.addProperty("elasticsearch.hostScheme.https.sslValidationStrategy", "override");
                 configuration.addProperty("elasticsearch.hostScheme.https.trustStorePath", "/home/james/ServerTrustStore.jks");
 
-                assertThatThrownBy(() -> ElasticSearchConfiguration.fromProperties(configuration))
+                assertThatThrownBy(() -> OpenSearchConfiguration.fromProperties(configuration))
                     .isInstanceOf(NullPointerException.class)
                     .hasMessage("elasticsearch.hostScheme.https.trustStorePassword cannot be null when elasticsearch.hostScheme.https.trustStorePath is specified");
             }
@@ -240,7 +240,7 @@ class ElasticSearchConfigurationTest {
                 configuration.addProperty("elasticsearch.hostScheme.https.sslValidationStrategy", "override");
                 configuration.addProperty("elasticsearch.hostScheme.https.trustStorePassword", "secret");
 
-                assertThatThrownBy(() -> ElasticSearchConfiguration.fromProperties(configuration))
+                assertThatThrownBy(() -> OpenSearchConfiguration.fromProperties(configuration))
                     .isInstanceOf(NullPointerException.class)
                     .hasMessage("elasticsearch.hostScheme.https.trustStorePath cannot be null when elasticsearch.hostScheme.https.trustStorePassword is specified");
             }
@@ -252,7 +252,7 @@ class ElasticSearchConfigurationTest {
 
                 configuration.addProperty("elasticsearch.hostScheme.https.sslValidationStrategy", "override");
 
-                assertThatThrownBy(() -> ElasticSearchConfiguration.fromProperties(configuration))
+                assertThatThrownBy(() -> OpenSearchConfiguration.fromProperties(configuration))
                     .isInstanceOf(IllegalArgumentException.class)
                     .hasMessage("OVERRIDE strategy requires trustStore to be present");
             }
@@ -266,7 +266,7 @@ class ElasticSearchConfigurationTest {
                 configuration.addProperty("elasticsearch.hostScheme.https.trustStorePath", "/home/james/ServerTrustStore.jks");
                 configuration.addProperty("elasticsearch.hostScheme.https.trustStorePassword", "password");
 
-                assertThatThrownBy(() -> ElasticSearchConfiguration.fromProperties(configuration))
+                assertThatThrownBy(() -> OpenSearchConfiguration.fromProperties(configuration))
                     .isInstanceOf(IllegalArgumentException.class)
                     .hasMessage("the file '/home/james/ServerTrustStore.jks' from property 'elasticsearch.hostScheme.https.trustStorePath' doesn't exist");
             }
@@ -284,7 +284,7 @@ class ElasticSearchConfigurationTest {
                 configuration.addProperty("elasticsearch.hostScheme.https.trustStorePassword", trustStorePassword);
                 configuration.addProperty("elasticsearch.hostScheme.https.hostNameVerifier", "default");
 
-                assertThat(ElasticSearchConfiguration.fromProperties(configuration)
+                assertThat(OpenSearchConfiguration.fromProperties(configuration)
                         .getSslConfiguration())
                     .isEqualTo(SSLConfiguration.builder()
                         .strategyOverride(SSLTrustStore.of(trustStorePath, trustStorePassword))
@@ -296,7 +296,7 @@ class ElasticSearchConfigurationTest {
 
     @Test
     void elasticSearchConfigurationShouldRespectBeanContract() {
-        EqualsVerifier.forClass(ElasticSearchConfiguration.class)
+        EqualsVerifier.forClass(OpenSearchConfiguration.class)
             .verify();
     }
 
@@ -307,7 +307,7 @@ class ElasticSearchConfigurationTest {
         configuration.addProperty("elasticsearch.nb.replica", value);
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration elasticSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
         assertThat(elasticSearchConfiguration.getNbReplica())
             .isEqualTo(value);
@@ -318,10 +318,10 @@ class ElasticSearchConfigurationTest {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getNbReplica())
-            .isEqualTo(ElasticSearchConfiguration.DEFAULT_NB_REPLICA);
+        assertThat(openSearchConfiguration.getNbReplica())
+            .isEqualTo(OpenSearchConfiguration.DEFAULT_NB_REPLICA);
     }
 
     @Test
@@ -331,9 +331,9 @@ class ElasticSearchConfigurationTest {
         configuration.addProperty("elasticsearch.index.waitForActiveShards", value);
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getWaitForActiveShards())
+        assertThat(openSearchConfiguration.getWaitForActiveShards())
             .isEqualTo(value);
     }
 
@@ -344,9 +344,9 @@ class ElasticSearchConfigurationTest {
         configuration.addProperty("elasticsearch.index.waitForActiveShards", value);
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getWaitForActiveShards())
+        assertThat(openSearchConfiguration.getWaitForActiveShards())
             .isEqualTo(value);
     }
 
@@ -356,9 +356,9 @@ class ElasticSearchConfigurationTest {
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
         int expectedValue = 1;
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getWaitForActiveShards())
+        assertThat(openSearchConfiguration.getWaitForActiveShards())
             .isEqualTo(expectedValue);
     }
 
@@ -369,9 +369,9 @@ class ElasticSearchConfigurationTest {
         configuration.addProperty("elasticsearch.nb.shards", value);
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getNbShards())
+        assertThat(openSearchConfiguration.getNbShards())
             .isEqualTo(value);
     }
 
@@ -380,10 +380,10 @@ class ElasticSearchConfigurationTest {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getNbShards())
-            .isEqualTo(ElasticSearchConfiguration.DEFAULT_NB_SHARDS);
+        assertThat(openSearchConfiguration.getNbShards())
+            .isEqualTo(OpenSearchConfiguration.DEFAULT_NB_SHARDS);
     }
 
     @Test
@@ -393,9 +393,9 @@ class ElasticSearchConfigurationTest {
         configuration.addProperty("elasticsearch.retryConnection.maxRetries", value);
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getMaxRetries())
+        assertThat(openSearchConfiguration.getMaxRetries())
             .isEqualTo(value);
     }
 
@@ -404,10 +404,10 @@ class ElasticSearchConfigurationTest {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getMaxRetries())
-            .isEqualTo(ElasticSearchConfiguration.DEFAULT_CONNECTION_MAX_RETRIES);
+        assertThat(openSearchConfiguration.getMaxRetries())
+            .isEqualTo(OpenSearchConfiguration.DEFAULT_CONNECTION_MAX_RETRIES);
     }
 
     @Test
@@ -417,9 +417,9 @@ class ElasticSearchConfigurationTest {
         configuration.addProperty("elasticsearch.retryConnection.minDelay", value);
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getMinDelay())
+        assertThat(openSearchConfiguration.getMinDelay())
             .isEqualTo(value);
     }
 
@@ -428,10 +428,10 @@ class ElasticSearchConfigurationTest {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getMinDelay())
-            .isEqualTo(ElasticSearchConfiguration.DEFAULT_CONNECTION_MIN_DELAY);
+        assertThat(openSearchConfiguration.getMinDelay())
+            .isEqualTo(OpenSearchConfiguration.DEFAULT_CONNECTION_MIN_DELAY);
     }
 
     @Test
@@ -440,10 +440,10 @@ class ElasticSearchConfigurationTest {
         String hostname = "myHost";
         configuration.addProperty("elasticsearch.hosts", hostname);
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getHosts())
-            .containsOnly(Host.from(hostname, ElasticSearchConfiguration.DEFAULT_PORT));
+        assertThat(openSearchConfiguration.getHosts())
+            .containsOnly(Host.from(hostname, OpenSearchConfiguration.DEFAULT_PORT));
     }
 
     @Test
@@ -455,10 +455,10 @@ class ElasticSearchConfigurationTest {
         configuration.setListDelimiterHandler(new DefaultListDelimiterHandler(','));
         configuration.addProperty("elasticsearch.hosts", hostname + "," + hostname2 + ":" + port);
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getHosts())
-            .containsOnly(Host.from(hostname, ElasticSearchConfiguration.DEFAULT_PORT),
+        assertThat(openSearchConfiguration.getHosts())
+            .containsOnly(Host.from(hostname, OpenSearchConfiguration.DEFAULT_PORT),
                 Host.from(hostname2, port));
     }
 
@@ -469,9 +469,9 @@ class ElasticSearchConfigurationTest {
         int port = 2154;
         configuration.addProperty("elasticsearch.hosts", hostname + ":" + port);
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getHosts())
+        assertThat(openSearchConfiguration.getHosts())
             .containsOnly(Host.from(hostname, port));
     }
 
@@ -483,63 +483,63 @@ class ElasticSearchConfigurationTest {
         int port = 9200;
         configuration.addProperty("elasticsearch.port", port);
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getHosts())
+        assertThat(openSearchConfiguration.getHosts())
             .containsOnly(Host.from(hostname, port));
     }
 
     @Test
     void validateHostsConfigurationOptionsShouldThrowWhenNoHostSpecify() {
         assertThatThrownBy(() ->
-            ElasticSearchConfiguration.validateHostsConfigurationOptions(
+            OpenSearchConfiguration.validateHostsConfigurationOptions(
                 Optional.empty(),
                 Optional.empty(),
                 ImmutableList.of()))
             .isInstanceOf(ConfigurationException.class)
-            .hasMessage("You should specify either (" + ElasticSearchConfiguration.ELASTICSEARCH_MASTER_HOST +
-                " and " + ElasticSearchConfiguration.ELASTICSEARCH_PORT +
-                ") or " + ElasticSearchConfiguration.ELASTICSEARCH_HOSTS);
+            .hasMessage("You should specify either (" + OpenSearchConfiguration.ELASTICSEARCH_MASTER_HOST +
+                " and " + OpenSearchConfiguration.ELASTICSEARCH_PORT +
+                ") or " + OpenSearchConfiguration.ELASTICSEARCH_HOSTS);
     }
 
     @Test
     void validateHostsConfigurationOptionsShouldThrowWhenMonoAndMultiHostSpecified() {
         assertThatThrownBy(() ->
-            ElasticSearchConfiguration.validateHostsConfigurationOptions(
+            OpenSearchConfiguration.validateHostsConfigurationOptions(
                 Optional.of("localhost"),
                 Optional.of(9200),
                 ImmutableList.of("localhost:9200")))
             .isInstanceOf(ConfigurationException.class)
-            .hasMessage("You should choose between mono host set up and " + ElasticSearchConfiguration.ELASTICSEARCH_HOSTS);
+            .hasMessage("You should choose between mono host set up and " + OpenSearchConfiguration.ELASTICSEARCH_HOSTS);
     }
 
     @Test
     void validateHostsConfigurationOptionsShouldThrowWhenMonoHostWithoutPort() {
         assertThatThrownBy(() ->
-            ElasticSearchConfiguration.validateHostsConfigurationOptions(
+            OpenSearchConfiguration.validateHostsConfigurationOptions(
                 Optional.of("localhost"),
                 Optional.empty(),
                 ImmutableList.of()))
             .isInstanceOf(ConfigurationException.class)
-            .hasMessage(ElasticSearchConfiguration.ELASTICSEARCH_MASTER_HOST +
-                " and " + ElasticSearchConfiguration.ELASTICSEARCH_PORT + " should be specified together");
+            .hasMessage(OpenSearchConfiguration.ELASTICSEARCH_MASTER_HOST +
+                " and " + OpenSearchConfiguration.ELASTICSEARCH_PORT + " should be specified together");
     }
 
     @Test
     void validateHostsConfigurationOptionsShouldThrowWhenMonoHostWithoutAddress() {
         assertThatThrownBy(() ->
-        ElasticSearchConfiguration.validateHostsConfigurationOptions(
+        OpenSearchConfiguration.validateHostsConfigurationOptions(
             Optional.empty(),
             Optional.of(9200),
             ImmutableList.of()))
         .isInstanceOf(ConfigurationException.class)
-        .hasMessage(ElasticSearchConfiguration.ELASTICSEARCH_MASTER_HOST + " and " +
-            ElasticSearchConfiguration.ELASTICSEARCH_PORT + " should be specified together");
+        .hasMessage(OpenSearchConfiguration.ELASTICSEARCH_MASTER_HOST + " and " +
+            OpenSearchConfiguration.ELASTICSEARCH_PORT + " should be specified together");
     }
 
     @Test
     void validateHostsConfigurationOptionsShouldAcceptMonoHostConfiguration() throws Exception {
-        ElasticSearchConfiguration.validateHostsConfigurationOptions(
+        OpenSearchConfiguration.validateHostsConfigurationOptions(
             Optional.of("localhost"),
             Optional.of(9200),
             ImmutableList.of());
@@ -547,7 +547,7 @@ class ElasticSearchConfigurationTest {
 
     @Test
     void validateHostsConfigurationOptionsShouldAcceptMultiHostConfiguration() throws Exception {
-        ElasticSearchConfiguration.validateHostsConfigurationOptions(
+        OpenSearchConfiguration.validateHostsConfigurationOptions(
             Optional.empty(),
             Optional.empty(),
             ImmutableList.of("localhost:9200"));
@@ -556,7 +556,7 @@ class ElasticSearchConfigurationTest {
     @Test
     void nbReplicaShouldThrowWhenNegative() {
         assertThatThrownBy(() ->
-                ElasticSearchConfiguration.builder()
+                OpenSearchConfiguration.builder()
                         .nbReplica(-1))
                 .isInstanceOf(IllegalArgumentException.class);
     }
@@ -564,7 +564,7 @@ class ElasticSearchConfigurationTest {
     @Test
     void waitForActiveShardsShouldThrowWhenNegative() {
         assertThatThrownBy(() ->
-            ElasticSearchConfiguration.builder()
+            OpenSearchConfiguration.builder()
                 .waitForActiveShards(-1))
             .isInstanceOf(IllegalArgumentException.class);
     }
@@ -572,7 +572,7 @@ class ElasticSearchConfigurationTest {
     @Test
     void nbShardsShouldThrowWhenNegative() {
         assertThatThrownBy(() ->
-                ElasticSearchConfiguration.builder()
+                OpenSearchConfiguration.builder()
                         .nbShards(-1))
                 .isInstanceOf(IllegalArgumentException.class);
     }
@@ -580,7 +580,7 @@ class ElasticSearchConfigurationTest {
     @Test
     void nbShardsShouldThrowWhenZero() {
         assertThatThrownBy(() ->
-                ElasticSearchConfiguration.builder()
+                OpenSearchConfiguration.builder()
                         .nbShards(0))
                 .isInstanceOf(IllegalArgumentException.class);
     }
@@ -595,9 +595,9 @@ class ElasticSearchConfigurationTest {
         configuration.addProperty("elasticsearch.user", user);
         configuration.addProperty("elasticsearch.password", password);
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getCredential())
+        assertThat(openSearchConfiguration.getCredential())
             .contains(Credential.of(user, password));
     }
 
@@ -606,9 +606,9 @@ class ElasticSearchConfigurationTest {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getCredential())
+        assertThat(openSearchConfiguration.getCredential())
             .isEmpty();
     }
 
@@ -619,7 +619,7 @@ class ElasticSearchConfigurationTest {
 
         configuration.addProperty("elasticsearch.user", "username");
 
-        assertThatThrownBy(() -> ElasticSearchConfiguration.fromProperties(configuration))
+        assertThatThrownBy(() -> OpenSearchConfiguration.fromProperties(configuration))
             .isInstanceOf(NullPointerException.class)
             .hasMessage("password cannot be null when username is specified");
     }
@@ -631,7 +631,7 @@ class ElasticSearchConfigurationTest {
 
         configuration.addProperty("elasticsearch.password", "password");
 
-        assertThatThrownBy(() -> ElasticSearchConfiguration.fromProperties(configuration))
+        assertThatThrownBy(() -> OpenSearchConfiguration.fromProperties(configuration))
             .isInstanceOf(NullPointerException.class)
             .hasMessage("username cannot be null when password is specified");
     }
@@ -643,9 +643,9 @@ class ElasticSearchConfigurationTest {
 
         configuration.addProperty("elasticsearch.hostScheme", "https");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getHostScheme())
+        assertThat(openSearchConfiguration.getHostScheme())
             .isEqualTo(HostScheme.HTTPS);
     }
 
@@ -656,9 +656,9 @@ class ElasticSearchConfigurationTest {
 
         configuration.addProperty("elasticsearch.hostScheme", "HTTPs");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getHostScheme())
+        assertThat(openSearchConfiguration.getHostScheme())
             .isEqualTo(HostScheme.HTTPS);
     }
 
@@ -667,9 +667,9 @@ class ElasticSearchConfigurationTest {
         PropertiesConfiguration configuration = new PropertiesConfiguration();
         configuration.addProperty("elasticsearch.hosts", "127.0.0.1");
 
-        ElasticSearchConfiguration elasticSearchConfiguration = ElasticSearchConfiguration.fromProperties(configuration);
+        OpenSearchConfiguration openSearchConfiguration = OpenSearchConfiguration.fromProperties(configuration);
 
-        assertThat(elasticSearchConfiguration.getHostScheme())
+        assertThat(openSearchConfiguration.getHostScheme())
             .isEqualTo(HostScheme.HTTP);
     }
 
@@ -680,7 +680,7 @@ class ElasticSearchConfigurationTest {
 
         configuration.addProperty("elasticsearch.hostScheme", "invalid-protocol");
 
-        assertThatThrownBy(() -> ElasticSearchConfiguration.fromProperties(configuration))
+        assertThatThrownBy(() -> OpenSearchConfiguration.fromProperties(configuration))
             .isInstanceOf(IllegalArgumentException.class)
             .hasMessage("Unknown HostScheme 'invalid-protocol'");
     }
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchHealthCheckConnectionTest.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchHealthCheckConnectionTest.java
similarity index 85%
rename from backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchHealthCheckConnectionTest.java
rename to backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchHealthCheckConnectionTest.java
index 0296ed19ed..b4c3e0c812 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchHealthCheckConnectionTest.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchHealthCheckConnectionTest.java
@@ -28,23 +28,23 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 
 import com.google.common.collect.ImmutableSet;
 
-class ElasticSearchHealthCheckConnectionTest {
+class OpenSearchHealthCheckConnectionTest {
     private static final Duration REQUEST_TIMEOUT = Duration.ofSeconds(5);
 
     @RegisterExtension
     public DockerElasticSearchExtension elasticSearch = new DockerElasticSearchExtension();
-    private ElasticSearchHealthCheck elasticSearchHealthCheck;
+    private OpenSearchHealthCheck openSearchHealthCheck;
 
     @BeforeEach
     void setUp() {
         ReactorElasticSearchClient client = elasticSearch.getDockerElasticSearch().clientProvider(REQUEST_TIMEOUT).get();
 
-        elasticSearchHealthCheck = new ElasticSearchHealthCheck(client, ImmutableSet.of());
+        openSearchHealthCheck = new OpenSearchHealthCheck(client, ImmutableSet.of());
     }
 
     @Test
     void checkShouldSucceedWhenElasticSearchIsRunning() {
-        assertThat(elasticSearchHealthCheck.check().block().isHealthy()).isTrue();
+        assertThat(openSearchHealthCheck.check().block().isHealthy()).isTrue();
     }
 
     @Test
@@ -53,7 +53,7 @@ class ElasticSearchHealthCheckConnectionTest {
         elasticSearch.getDockerElasticSearch().pause();
 
         try {
-            assertThat(elasticSearchHealthCheck.check().block().isUnHealthy()).isTrue();
+            assertThat(openSearchHealthCheck.check().block().isUnHealthy()).isTrue();
         } finally {
             elasticSearch.getDockerElasticSearch().unpause();
         }
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchHealthCheckTest.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchHealthCheckTest.java
similarity index 95%
rename from backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchHealthCheckTest.java
rename to backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchHealthCheckTest.java
index 5242501472..becad9a3fb 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchHealthCheckTest.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchHealthCheckTest.java
@@ -20,6 +20,8 @@ package org.apache.james.backends.opensearch;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.opensearch.action.admin.cluster.health.ClusterHealthResponse;
 import org.opensearch.cluster.ClusterName;
 import org.opensearch.cluster.ClusterState;
@@ -27,17 +29,15 @@ import org.opensearch.cluster.block.ClusterBlocks;
 import org.opensearch.cluster.health.ClusterHealthStatus;
 import org.opensearch.cluster.node.DiscoveryNodes;
 import org.opensearch.cluster.routing.RoutingTable;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
 
 import com.google.common.collect.ImmutableSet;
 
-class ElasticSearchHealthCheckTest {
-    private ElasticSearchHealthCheck healthCheck;
+class OpenSearchHealthCheckTest {
+    private OpenSearchHealthCheck healthCheck;
 
     @BeforeEach
     void setup() {
-        healthCheck = new ElasticSearchHealthCheck(null, ImmutableSet.of());
+        healthCheck = new OpenSearchHealthCheck(null, ImmutableSet.of());
     }
 
     @Test
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchIndexerTest.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchIndexerTest.java
similarity index 97%
rename from backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchIndexerTest.java
rename to backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchIndexerTest.java
index e57ea95d2e..f1de6fc2ea 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/ElasticSearchIndexerTest.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/OpenSearchIndexerTest.java
@@ -30,20 +30,20 @@ import java.io.IOException;
 import org.awaitility.Awaitility;
 import org.awaitility.Durations;
 import org.awaitility.core.ConditionFactory;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.opensearch.action.get.GetResponse;
 import org.opensearch.action.search.SearchRequest;
 import org.opensearch.client.RequestOptions;
 import org.opensearch.index.query.QueryBuilder;
 import org.opensearch.index.query.QueryBuilders;
 import org.opensearch.search.builder.SearchSourceBuilder;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 import com.google.common.collect.ImmutableList;
 
-class ElasticSearchIndexerTest {
+class OpenSearchIndexerTest {
     public static RoutingKey useDocumentId(DocumentId documentId) {
         return RoutingKey.fromString(documentId.asString());
     }
@@ -60,17 +60,17 @@ class ElasticSearchIndexerTest {
 
     @RegisterExtension
     public DockerElasticSearchExtension elasticSearch = new DockerElasticSearchExtension();
-    private ElasticSearchIndexer testee;
+    private OpenSearchIndexer testee;
     private ReactorElasticSearchClient client;
 
     @BeforeEach
     void setup() {
         client = elasticSearch.getDockerElasticSearch().clientProvider().get();
-        new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+        new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
             .useIndex(INDEX_NAME)
             .addAlias(ALIAS_NAME)
             .createIndexAndAliases(client);
-        testee = new ElasticSearchIndexer(client, ALIAS_NAME);
+        testee = new OpenSearchIndexer(client, ALIAS_NAME);
     }
 
     @AfterEach
diff --git a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/search/ScrolledSearchTest.java b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/search/ScrolledSearchTest.java
index 273d1aa682..6835026de0 100644
--- a/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/search/ScrolledSearchTest.java
+++ b/backends-common/opensearch/src/test/java/org/apache/james/backends/opensearch/search/ScrolledSearchTest.java
@@ -25,13 +25,17 @@ import static org.awaitility.Awaitility.await;
 import java.io.IOException;
 
 import org.apache.james.backends.opensearch.DockerElasticSearchExtension;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
 import org.apache.james.backends.opensearch.IndexCreationFactory;
 import org.apache.james.backends.opensearch.IndexName;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.backends.opensearch.ReadAliasName;
 import org.awaitility.Durations;
 import org.awaitility.core.ConditionFactory;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.opensearch.action.index.IndexRequest;
 import org.opensearch.action.search.SearchRequest;
 import org.opensearch.client.RequestOptions;
@@ -39,10 +43,6 @@ import org.opensearch.common.unit.TimeValue;
 import org.opensearch.index.query.QueryBuilders;
 import org.opensearch.search.SearchHit;
 import org.opensearch.search.builder.SearchSourceBuilder;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 class ScrolledSearchTest {
     private static final TimeValue TIMEOUT = TimeValue.timeValueMinutes(1);
@@ -60,7 +60,7 @@ class ScrolledSearchTest {
     @BeforeEach
     void setUp() {
         client = elasticSearch.getDockerElasticSearch().clientProvider().get();
-        new IndexCreationFactory(ElasticSearchConfiguration.DEFAULT_CONFIGURATION)
+        new IndexCreationFactory(OpenSearchConfiguration.DEFAULT_CONFIGURATION)
             .useIndex(INDEX_NAME)
             .addAlias(ALIAS_NAME)
             .createIndexAndAliases(client);
diff --git a/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxIndexCreationUtil.java b/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxIndexCreationUtil.java
index 3a686e494d..c7684c4def 100644
--- a/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxIndexCreationUtil.java
+++ b/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/MailboxIndexCreationUtil.java
@@ -19,9 +19,9 @@
 
 package org.apache.james.mailbox.opensearch;
 
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
 import org.apache.james.backends.opensearch.IndexCreationFactory;
 import org.apache.james.backends.opensearch.IndexName;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.backends.opensearch.ReadAliasName;
 import org.apache.james.backends.opensearch.WriteAliasName;
@@ -32,7 +32,7 @@ public class MailboxIndexCreationUtil {
                                                            ReadAliasName readAlias,
                                                            WriteAliasName writeAlias,
                                                            IndexName indexName,
-                                                           ElasticSearchConfiguration configuration) {
+                                                           OpenSearchConfiguration configuration) {
             return new IndexCreationFactory(configuration)
                 .useIndex(indexName)
                 .addAlias(readAlias)
@@ -40,7 +40,7 @@ public class MailboxIndexCreationUtil {
                 .createIndexAndAliases(client, MailboxMappingFactory.getMappingContent());
     }
 
-    public static ReactorElasticSearchClient prepareDefaultClient(ReactorElasticSearchClient client, ElasticSearchConfiguration configuration) {
+    public static ReactorElasticSearchClient prepareDefaultClient(ReactorElasticSearchClient client, OpenSearchConfiguration configuration) {
         return prepareClient(client,
             MailboxElasticSearchConstants.DEFAULT_MAILBOX_READ_ALIAS,
             MailboxElasticSearchConstants.DEFAULT_MAILBOX_WRITE_ALIAS,
diff --git a/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/events/ElasticSearchListeningMessageSearchIndex.java b/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/events/ElasticSearchListeningMessageSearchIndex.java
index 9d765b1239..195f9fe077 100644
--- a/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/events/ElasticSearchListeningMessageSearchIndex.java
+++ b/mailbox/opensearch/src/main/java/org/apache/james/mailbox/opensearch/events/ElasticSearchListeningMessageSearchIndex.java
@@ -42,7 +42,7 @@ import javax.inject.Named;
 import javax.mail.Flags;
 
 import org.apache.james.backends.opensearch.DocumentId;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.RoutingKey;
 import org.apache.james.backends.opensearch.UpdatedRepresentation;
 import org.apache.james.events.Group;
@@ -93,7 +93,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe
     private static final ImmutableList<String> MESSAGE_ID_FIELD = ImmutableList.of(MESSAGE_ID);
     private static final ImmutableList<String> UID_FIELD = ImmutableList.of(UID);
 
-    private final ElasticSearchIndexer elasticSearchIndexer;
+    private final OpenSearchIndexer openSearchIndexer;
     private final ElasticSearchSearcher searcher;
     private final MessageToElasticSearchJson messageToElasticSearchJson;
     private final RoutingKey.Factory<MailboxId> routingKeyFactory;
@@ -102,11 +102,11 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe
     @Inject
     public ElasticSearchListeningMessageSearchIndex(MailboxSessionMapperFactory factory,
                                                     Set<SearchOverride> searchOverrides,
-                                                    @Named(MailboxElasticSearchConstants.InjectionNames.MAILBOX) ElasticSearchIndexer indexer,
+                                                    @Named(MailboxElasticSearchConstants.InjectionNames.MAILBOX) OpenSearchIndexer indexer,
                                                     ElasticSearchSearcher searcher, MessageToElasticSearchJson messageToElasticSearchJson,
                                                     SessionProvider sessionProvider, RoutingKey.Factory<MailboxId> routingKeyFactory, MessageId.Factory messageIdFactory) {
         super(factory, searchOverrides, sessionProvider);
-        this.elasticSearchIndexer = indexer;
+        this.openSearchIndexer = indexer;
         this.messageToElasticSearchJson = messageToElasticSearchJson;
         this.searcher = searcher;
         this.routingKeyFactory = routingKeyFactory;
@@ -164,7 +164,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe
         DocumentId id = indexIdFor(mailbox.getMailboxId(), message.getUid());
 
         return generateIndexedJson(mailbox, message, session)
-            .flatMap(jsonContent -> elasticSearchIndexer.index(id, jsonContent, from))
+            .flatMap(jsonContent -> openSearchIndexer.index(id, jsonContent, from))
             .then();
     }
 
@@ -183,7 +183,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe
 
     @Override
     public Mono<Void> delete(MailboxSession session, MailboxId mailboxId, Collection<MessageUid> expungedUids) {
-        return elasticSearchIndexer
+        return openSearchIndexer
             .delete(expungedUids.stream()
                 .map(uid ->  indexIdFor(mailboxId, uid))
                 .collect(toImmutableList()),
@@ -197,7 +197,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe
             MAILBOX_ID,
             mailboxId.serialize());
 
-        return elasticSearchIndexer
+        return openSearchIndexer
                 .deleteAllMatchingQuery(queryBuilder, routingKeyFactory.from(mailboxId));
     }
 
@@ -211,7 +211,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe
                 .sneakyThrow())
             .window(FLAGS_UPDATE_PROCESSING_WINDOW_SIZE)
             .concatMap(flux -> flux.collect(toImmutableList())
-                .flatMap(updates -> elasticSearchIndexer.update(updates, routingKey)))
+                .flatMap(updates -> openSearchIndexer.update(updates, routingKey)))
             .then();
     }
 
@@ -236,7 +236,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe
     public Mono<Flags> retrieveIndexedFlags(Mailbox mailbox, MessageUid uid) {
         RoutingKey routingKey = routingKeyFactory.from(mailbox.getMailboxId());
 
-        return elasticSearchIndexer.get(indexIdFor(mailbox.getMailboxId(), uid), routingKey)
+        return openSearchIndexer.get(indexIdFor(mailbox.getMailboxId(), uid), routingKey)
             .filter(GetResponse::isExists)
             .map(GetResponse::getSourceAsMap)
             .map(this::extractFlags);
diff --git a/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/ElasticSearchIntegrationTest.java b/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/ElasticSearchIntegrationTest.java
index d70a4c71ac..fb6a01b07e 100644
--- a/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/ElasticSearchIntegrationTest.java
+++ b/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/ElasticSearchIntegrationTest.java
@@ -28,16 +28,11 @@ import java.time.ZoneId;
 import java.util.List;
 
 import org.apache.james.backends.opensearch.DockerElasticSearchExtension;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MailboxSessionUtil;
 import org.apache.james.mailbox.MessageManager;
-import org.apache.james.mailbox.opensearch.events.ElasticSearchListeningMessageSearchIndex;
-import org.apache.james.mailbox.opensearch.json.MessageToElasticSearchJson;
-import org.apache.james.mailbox.opensearch.query.CriterionConverter;
-import org.apache.james.mailbox.opensearch.query.QueryConverter;
-import org.apache.james.mailbox.opensearch.search.ElasticSearchSearcher;
 import org.apache.james.mailbox.inmemory.InMemoryMessageId;
 import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
 import org.apache.james.mailbox.model.ComposedMessageId;
@@ -45,6 +40,11 @@ import org.apache.james.mailbox.model.MailboxId;
 import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.model.SearchQuery;
+import org.apache.james.mailbox.opensearch.events.ElasticSearchListeningMessageSearchIndex;
+import org.apache.james.mailbox.opensearch.json.MessageToElasticSearchJson;
+import org.apache.james.mailbox.opensearch.query.CriterionConverter;
+import org.apache.james.mailbox.opensearch.query.QueryConverter;
+import org.apache.james.mailbox.opensearch.search.ElasticSearchSearcher;
 import org.apache.james.mailbox.store.search.AbstractMessageSearchIndexTest;
 import org.apache.james.mailbox.tika.TikaConfiguration;
 import org.apache.james.mailbox.tika.TikaExtension;
@@ -57,15 +57,15 @@ import org.apache.james.util.ClassLoaderUtils;
 import org.awaitility.Awaitility;
 import org.awaitility.Durations;
 import org.awaitility.core.ConditionFactory;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.opensearch.action.search.SearchRequest;
 import org.opensearch.client.RequestOptions;
 import org.opensearch.index.query.QueryBuilder;
 import org.opensearch.index.query.QueryBuilders;
 import org.opensearch.search.builder.SearchSourceBuilder;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
@@ -126,7 +126,7 @@ class ElasticSearchIntegrationTest extends AbstractMessageSearchIndexTest {
             .listeningSearchIndex(preInstanciationStage -> new ElasticSearchListeningMessageSearchIndex(
                 preInstanciationStage.getMapperFactory(),
                 ImmutableSet.of(),
-                new ElasticSearchIndexer(client,
+                new OpenSearchIndexer(client,
                     MailboxElasticSearchConstants.DEFAULT_MAILBOX_WRITE_ALIAS),
                 new ElasticSearchSearcher(client, new QueryConverter(new CriterionConverter()), SEARCH_SIZE,
                     MailboxElasticSearchConstants.DEFAULT_MAILBOX_READ_ALIAS, routingKeyFactory),
diff --git a/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/events/ElasticSearchListeningMessageSearchIndexTest.java b/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/events/ElasticSearchListeningMessageSearchIndexTest.java
index 98390425d1..a696850841 100644
--- a/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/events/ElasticSearchListeningMessageSearchIndexTest.java
+++ b/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/events/ElasticSearchListeningMessageSearchIndexTest.java
@@ -32,7 +32,7 @@ import java.util.Date;
 import javax.mail.Flags;
 
 import org.apache.james.backends.opensearch.DockerElasticSearchExtension;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.core.Username;
 import org.apache.james.events.Group;
@@ -163,7 +163,7 @@ class ElasticSearchListeningMessageSearchIndexTest {
     MailboxSession session;
     Mailbox mailbox;
     MailboxSessionMapperFactory mapperFactory;
-    ElasticSearchIndexer elasticSearchIndexer;
+    OpenSearchIndexer openSearchIndexer;
     ElasticSearchSearcher elasticSearchSearcher;
     SessionProviderImpl sessionProvider;
 
@@ -196,10 +196,10 @@ class ElasticSearchListeningMessageSearchIndexTest {
         Authorizator authorizator = FakeAuthorizator.defaultReject();
         sessionProvider = new SessionProviderImpl(fakeAuthenticator, authorizator);
 
-        elasticSearchIndexer = new ElasticSearchIndexer(client, MailboxElasticSearchConstants.DEFAULT_MAILBOX_WRITE_ALIAS);
+        openSearchIndexer = new OpenSearchIndexer(client, MailboxElasticSearchConstants.DEFAULT_MAILBOX_WRITE_ALIAS);
         
         testee = new ElasticSearchListeningMessageSearchIndex(mapperFactory,
-            ImmutableSet.of(), elasticSearchIndexer, elasticSearchSearcher,
+            ImmutableSet.of(), openSearchIndexer, elasticSearchSearcher,
             messageToElasticSearchJson, sessionProvider, new MailboxIdRoutingKeyFactory(), messageIdFactory);
         session = sessionProvider.createSystemSession(USERNAME);
 
@@ -264,7 +264,7 @@ class ElasticSearchListeningMessageSearchIndexTest {
             IndexAttachments.YES);
 
         testee = new ElasticSearchListeningMessageSearchIndex(mapperFactory,
-            ImmutableSet.of(), elasticSearchIndexer, elasticSearchSearcher,
+            ImmutableSet.of(), openSearchIndexer, elasticSearchSearcher,
             messageToElasticSearchJson, sessionProvider, new MailboxIdRoutingKeyFactory(), new InMemoryMessageId.Factory());
 
         testee.add(session, mailbox, MESSAGE_WITH_ATTACHMENT).block();
diff --git a/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/search/ElasticSearchSearcherTest.java b/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/search/ElasticSearchSearcherTest.java
index 9487241b7d..6f4f8e47d8 100644
--- a/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/search/ElasticSearchSearcherTest.java
+++ b/mailbox/opensearch/src/test/java/org/apache/james/mailbox/opensearch/search/ElasticSearchSearcherTest.java
@@ -30,20 +30,12 @@ import java.util.List;
 import java.util.stream.IntStream;
 
 import org.apache.james.backends.opensearch.DockerElasticSearchExtension;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.core.Username;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MailboxSessionUtil;
 import org.apache.james.mailbox.MessageManager;
-import org.apache.james.mailbox.opensearch.IndexAttachments;
-import org.apache.james.mailbox.opensearch.MailboxElasticSearchConstants;
-import org.apache.james.mailbox.opensearch.MailboxIdRoutingKeyFactory;
-import org.apache.james.mailbox.opensearch.MailboxIndexCreationUtil;
-import org.apache.james.mailbox.opensearch.events.ElasticSearchListeningMessageSearchIndex;
-import org.apache.james.mailbox.opensearch.json.MessageToElasticSearchJson;
-import org.apache.james.mailbox.opensearch.query.CriterionConverter;
-import org.apache.james.mailbox.opensearch.query.QueryConverter;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxManager;
 import org.apache.james.mailbox.inmemory.InMemoryMessageId;
 import org.apache.james.mailbox.inmemory.manager.InMemoryIntegrationResources;
@@ -53,6 +45,14 @@ import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MessageId;
 import org.apache.james.mailbox.model.MultimailboxesSearchQuery;
 import org.apache.james.mailbox.model.SearchQuery;
+import org.apache.james.mailbox.opensearch.IndexAttachments;
+import org.apache.james.mailbox.opensearch.MailboxElasticSearchConstants;
+import org.apache.james.mailbox.opensearch.MailboxIdRoutingKeyFactory;
+import org.apache.james.mailbox.opensearch.MailboxIndexCreationUtil;
+import org.apache.james.mailbox.opensearch.events.ElasticSearchListeningMessageSearchIndex;
+import org.apache.james.mailbox.opensearch.json.MessageToElasticSearchJson;
+import org.apache.james.mailbox.opensearch.query.CriterionConverter;
+import org.apache.james.mailbox.opensearch.query.QueryConverter;
 import org.apache.james.mailbox.tika.TikaConfiguration;
 import org.apache.james.mailbox.tika.TikaExtension;
 import org.apache.james.mailbox.tika.TikaHttpClientImpl;
@@ -62,15 +62,15 @@ import org.apache.james.mime4j.dom.Message;
 import org.awaitility.Awaitility;
 import org.awaitility.Durations;
 import org.awaitility.core.ConditionFactory;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
 import org.opensearch.action.search.SearchRequest;
 import org.opensearch.client.RequestOptions;
 import org.opensearch.index.query.QueryBuilder;
 import org.opensearch.index.query.QueryBuilders;
 import org.opensearch.search.builder.SearchSourceBuilder;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.RegisterExtension;
 
 import com.github.fge.lambdas.Throwing;
 import com.google.common.collect.ImmutableList;
@@ -120,7 +120,7 @@ class ElasticSearchSearcherTest {
             .listeningSearchIndex(preInstanciationStage -> new ElasticSearchListeningMessageSearchIndex(
                 preInstanciationStage.getMapperFactory(),
                 ImmutableSet.of(),
-                new ElasticSearchIndexer(client,
+                new OpenSearchIndexer(client,
                     MailboxElasticSearchConstants.DEFAULT_MAILBOX_WRITE_ALIAS),
                 new ElasticSearchSearcher(client, new QueryConverter(new CriterionConverter()), SEARCH_SIZE,
                     MailboxElasticSearchConstants.DEFAULT_MAILBOX_READ_ALIAS, routingKeyFactory),
diff --git a/mailbox/plugin/quota-search-opensearch/src/main/java/org/apache/james/quota/search/opensearch/QuotaSearchIndexCreationUtil.java b/mailbox/plugin/quota-search-opensearch/src/main/java/org/apache/james/quota/search/opensearch/QuotaSearchIndexCreationUtil.java
index bf1b008c3e..f4aec32fec 100644
--- a/mailbox/plugin/quota-search-opensearch/src/main/java/org/apache/james/quota/search/opensearch/QuotaSearchIndexCreationUtil.java
+++ b/mailbox/plugin/quota-search-opensearch/src/main/java/org/apache/james/quota/search/opensearch/QuotaSearchIndexCreationUtil.java
@@ -22,9 +22,9 @@ package org.apache.james.quota.search.opensearch;
 import java.io.IOException;
 
 import org.apache.james.backends.opensearch.AliasName;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
 import org.apache.james.backends.opensearch.IndexCreationFactory;
 import org.apache.james.backends.opensearch.IndexName;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 
 public class QuotaSearchIndexCreationUtil {
@@ -33,7 +33,7 @@ public class QuotaSearchIndexCreationUtil {
                                        AliasName readAlias,
                                        AliasName writeAlias,
                                        IndexName indexName,
-                                       ElasticSearchConfiguration configuration) {
+                                       OpenSearchConfiguration configuration) {
         return new IndexCreationFactory(configuration)
             .useIndex(indexName)
             .addAlias(readAlias)
@@ -41,7 +41,7 @@ public class QuotaSearchIndexCreationUtil {
             .createIndexAndAliases(client, QuotaRatioMappingFactory.getMappingContent());
     }
 
-    public static ReactorElasticSearchClient prepareDefaultClient(ReactorElasticSearchClient client, ElasticSearchConfiguration configuration) throws IOException {
+    public static ReactorElasticSearchClient prepareDefaultClient(ReactorElasticSearchClient client, OpenSearchConfiguration configuration) throws IOException {
         return prepareClient(client,
             QuotaRatioElasticSearchConstants.DEFAULT_QUOTA_RATIO_READ_ALIAS,
             QuotaRatioElasticSearchConstants.DEFAULT_QUOTA_RATIO_WRITE_ALIAS,
diff --git a/mailbox/plugin/quota-search-opensearch/src/main/java/org/apache/james/quota/search/opensearch/events/ElasticSearchQuotaMailboxListener.java b/mailbox/plugin/quota-search-opensearch/src/main/java/org/apache/james/quota/search/opensearch/events/ElasticSearchQuotaMailboxListener.java
index 1c2f045a2c..162a78ada0 100644
--- a/mailbox/plugin/quota-search-opensearch/src/main/java/org/apache/james/quota/search/opensearch/events/ElasticSearchQuotaMailboxListener.java
+++ b/mailbox/plugin/quota-search-opensearch/src/main/java/org/apache/james/quota/search/opensearch/events/ElasticSearchQuotaMailboxListener.java
@@ -22,7 +22,7 @@ import javax.inject.Inject;
 import javax.inject.Named;
 
 import org.apache.james.backends.opensearch.DocumentId;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.RoutingKey;
 import org.apache.james.core.Username;
 import org.apache.james.events.Event;
@@ -43,13 +43,13 @@ public class ElasticSearchQuotaMailboxListener implements EventListener.Reactive
 
     private static final Group GROUP = new ElasticSearchQuotaMailboxListenerGroup();
 
-    private final ElasticSearchIndexer indexer;
+    private final OpenSearchIndexer indexer;
     private final QuotaRatioToElasticSearchJson quotaRatioToElasticSearchJson;
     private final RoutingKey.Factory<Username> routingKeyFactory;
     private final QuotaRootResolver quotaRootResolver;
 
     @Inject
-    public ElasticSearchQuotaMailboxListener(@Named(QuotaRatioElasticSearchConstants.InjectionNames.QUOTA_RATIO) ElasticSearchIndexer indexer,
+    public ElasticSearchQuotaMailboxListener(@Named(QuotaRatioElasticSearchConstants.InjectionNames.QUOTA_RATIO) OpenSearchIndexer indexer,
                                              QuotaRatioToElasticSearchJson quotaRatioToElasticSearchJson,
                                              RoutingKey.Factory<Username> routingKeyFactory, QuotaRootResolver quotaRootResolver) {
         this.indexer = indexer;
diff --git a/mailbox/plugin/quota-search-opensearch/src/test/java/org/apache/james/quota/search/opensearch/ElasticSearchQuotaSearchTestSystemExtension.java b/mailbox/plugin/quota-search-opensearch/src/test/java/org/apache/james/quota/search/opensearch/ElasticSearchQuotaSearchTestSystemExtension.java
index 87858bac35..ac9335157f 100644
--- a/mailbox/plugin/quota-search-opensearch/src/test/java/org/apache/james/quota/search/opensearch/ElasticSearchQuotaSearchTestSystemExtension.java
+++ b/mailbox/plugin/quota-search-opensearch/src/test/java/org/apache/james/quota/search/opensearch/ElasticSearchQuotaSearchTestSystemExtension.java
@@ -23,9 +23,9 @@ import static org.mockito.Mockito.mock;
 
 import java.io.IOException;
 
-import org.apache.james.backends.opensearch.DockerElasticSearch;
 import org.apache.james.backends.opensearch.DockerElasticSearchSingleton;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.DockerOpenSearch;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.domainlist.lib.DomainListConfiguration;
@@ -45,7 +45,7 @@ import org.junit.jupiter.api.extension.ParameterResolver;
 
 public class ElasticSearchQuotaSearchTestSystemExtension implements ParameterResolver, BeforeEachCallback, AfterEachCallback {
 
-    private final DockerElasticSearch elasticSearch = DockerElasticSearchSingleton.INSTANCE;
+    private final DockerOpenSearch elasticSearch = DockerElasticSearchSingleton.INSTANCE;
     private ReactorElasticSearchClient client;
 
     @Override
@@ -68,7 +68,7 @@ public class ElasticSearchQuotaSearchTestSystemExtension implements ParameterRes
             MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
 
             ElasticSearchQuotaMailboxListener listener = new ElasticSearchQuotaMailboxListener(
-                new ElasticSearchIndexer(client,
+                new OpenSearchIndexer(client,
                     QuotaRatioElasticSearchConstants.DEFAULT_QUOTA_RATIO_WRITE_ALIAS),
                 new QuotaRatioToElasticSearchJson(resources.getQuotaRootResolver()),
                 new UserRoutingKeyFactory(), resources.getQuotaRootResolver());
diff --git a/mailbox/plugin/quota-search-opensearch/src/test/java/org/apache/james/quota/search/opensearch/events/ElasticSearchQuotaMailboxListenerTest.java b/mailbox/plugin/quota-search-opensearch/src/test/java/org/apache/james/quota/search/opensearch/events/ElasticSearchQuotaMailboxListenerTest.java
index 5b43f6ddf3..ece869939e 100644
--- a/mailbox/plugin/quota-search-opensearch/src/test/java/org/apache/james/quota/search/opensearch/events/ElasticSearchQuotaMailboxListenerTest.java
+++ b/mailbox/plugin/quota-search-opensearch/src/test/java/org/apache/james/quota/search/opensearch/events/ElasticSearchQuotaMailboxListenerTest.java
@@ -29,8 +29,8 @@ import static org.mockito.Mockito.mock;
 import java.io.IOException;
 
 import org.apache.james.backends.opensearch.DockerElasticSearchExtension;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.events.Event;
 import org.apache.james.events.Group;
@@ -75,13 +75,13 @@ class ElasticSearchQuotaMailboxListenerTest {
     void setUp() throws IOException {
         client = elasticSearch.getDockerElasticSearch().clientProvider().get();
 
-        QuotaSearchIndexCreationUtil.prepareDefaultClient(client, ElasticSearchConfiguration.builder()
+        QuotaSearchIndexCreationUtil.prepareDefaultClient(client, OpenSearchConfiguration.builder()
             .addHost(elasticSearch.getDockerElasticSearch().getHttpHost())
             .build());
 
         quotaRootResolver = new DefaultUserQuotaRootResolver(mock(SessionProvider.class), mock(MailboxSessionMapperFactory.class));
         quotaMailboxListener = new ElasticSearchQuotaMailboxListener(
-            new ElasticSearchIndexer(client,
+            new OpenSearchIndexer(client,
                 QuotaRatioElasticSearchConstants.DEFAULT_QUOTA_RATIO_WRITE_ALIAS),
             new QuotaRatioToElasticSearchJson(quotaRootResolver),
             new UserRoutingKeyFactory(), quotaRootResolver);
diff --git a/mpt/impl/imap-mailbox/opensearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/OpenSearchHostSystem.java b/mpt/impl/imap-mailbox/opensearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/OpenSearchHostSystem.java
index 7cacd53206..e2575ab7e4 100644
--- a/mpt/impl/imap-mailbox/opensearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/OpenSearchHostSystem.java
+++ b/mpt/impl/imap-mailbox/opensearch/src/test/java/org/apache/james/mpt/imapmailbox/elasticsearch/host/OpenSearchHostSystem.java
@@ -23,10 +23,10 @@ import java.io.IOException;
 import java.time.ZoneId;
 
 import org.apache.commons.lang3.NotImplementedException;
-import org.apache.james.backends.opensearch.DockerElasticSearch;
 import org.apache.james.backends.opensearch.DockerElasticSearchSingleton;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.DockerOpenSearch;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.core.quota.QuotaCountLimit;
 import org.apache.james.core.quota.QuotaSizeLimit;
@@ -62,29 +62,29 @@ public class OpenSearchHostSystem extends JamesImapHostSystem {
     private static final ImapFeatures SUPPORTED_FEATURES = ImapFeatures.of(Feature.NAMESPACE_SUPPORT,
         Feature.MOD_SEQ_SEARCH);
 
-    private DockerElasticSearch dockerElasticSearch;
+    private DockerOpenSearch dockerOpenSearch;
     private StoreMailboxManager mailboxManager;
     private ReactorElasticSearchClient client;
 
     @Override
     public void beforeTest() throws Exception {
         super.beforeTest();
-        this.dockerElasticSearch = DockerElasticSearchSingleton.INSTANCE;
-        dockerElasticSearch.start();
+        this.dockerOpenSearch = DockerElasticSearchSingleton.INSTANCE;
+        dockerOpenSearch.start();
         initFields();
     }
 
     @Override
     public void afterTest() throws IOException {
         client.close();
-        dockerElasticSearch.cleanUpData();
+        dockerOpenSearch.cleanUpData();
     }
 
     private void initFields() throws Exception {
         client = MailboxIndexCreationUtil.prepareDefaultClient(
-            dockerElasticSearch.clientProvider().get(),
-            ElasticSearchConfiguration.builder()
-                .addHost(dockerElasticSearch.getHttpHost())
+            dockerOpenSearch.clientProvider().get(),
+            OpenSearchConfiguration.builder()
+                .addHost(dockerOpenSearch.getHttpHost())
                 .build());
 
         InMemoryMessageId.Factory messageIdFactory = new InMemoryMessageId.Factory();
@@ -99,7 +99,7 @@ public class OpenSearchHostSystem extends JamesImapHostSystem {
             .listeningSearchIndex(preInstanciationStage -> new ElasticSearchListeningMessageSearchIndex(
                 preInstanciationStage.getMapperFactory(),
                 ImmutableSet.of(),
-                new ElasticSearchIndexer(client,
+                new OpenSearchIndexer(client,
                     MailboxElasticSearchConstants.DEFAULT_MAILBOX_WRITE_ALIAS),
                 new ElasticSearchSearcher(client, new QueryConverter(new CriterionConverter()), ElasticSearchSearcher.DEFAULT_SEARCH_SIZE,
                     MailboxElasticSearchConstants.DEFAULT_MAILBOX_READ_ALIAS, routingKeyFactory),
@@ -140,6 +140,6 @@ public class OpenSearchHostSystem extends JamesImapHostSystem {
 
     @Override
     protected void await() {
-        dockerElasticSearch.flushIndices();
+        dockerOpenSearch.flushIndices();
     }
 }
\ No newline at end of file
diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/DockerElasticSearchExtension.java b/server/apps/cassandra-app/src/test/java/org/apache/james/DockerElasticSearchExtension.java
index c6d393aa1d..21612a7fec 100644
--- a/server/apps/cassandra-app/src/test/java/org/apache/james/DockerElasticSearchExtension.java
+++ b/server/apps/cassandra-app/src/test/java/org/apache/james/DockerElasticSearchExtension.java
@@ -22,16 +22,16 @@ package org.apache.james;
 import java.time.Duration;
 import java.util.Optional;
 
-import org.apache.james.backends.opensearch.DockerElasticSearch;
 import org.apache.james.backends.opensearch.DockerElasticSearchSingleton;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
+import org.apache.james.backends.opensearch.DockerOpenSearch;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
 import org.junit.jupiter.api.extension.ExtensionContext;
 
 import com.google.inject.Module;
 
 public class DockerElasticSearchExtension implements GuiceModuleTestExtension {
 
-    private final DockerElasticSearch dockerElasticSearch;
+    private final DockerOpenSearch dockerOpenSearch;
     private Optional<Duration> requestTimeout;
 
     public DockerElasticSearchExtension() {
@@ -43,8 +43,8 @@ public class DockerElasticSearchExtension implements GuiceModuleTestExtension {
         return this;
     }
 
-    public DockerElasticSearchExtension(DockerElasticSearch dockerElasticSearch) {
-        this.dockerElasticSearch = dockerElasticSearch;
+    public DockerElasticSearchExtension(DockerOpenSearch dockerOpenSearch) {
+        this.dockerOpenSearch = dockerOpenSearch;
         requestTimeout = Optional.empty();
     }
 
@@ -67,7 +67,7 @@ public class DockerElasticSearchExtension implements GuiceModuleTestExtension {
 
     @Override
     public Module getModule() {
-        return binder -> binder.bind(ElasticSearchConfiguration.class)
+        return binder -> binder.bind(OpenSearchConfiguration.class)
             .toInstance(getElasticSearchConfigurationForDocker());
     }
 
@@ -76,14 +76,14 @@ public class DockerElasticSearchExtension implements GuiceModuleTestExtension {
         getDockerES().flushIndices();
     }
 
-    private ElasticSearchConfiguration getElasticSearchConfigurationForDocker() {
-        return ElasticSearchConfiguration.builder()
+    private OpenSearchConfiguration getElasticSearchConfigurationForDocker() {
+        return OpenSearchConfiguration.builder()
             .addHost(getDockerES().getHttpHost())
             .requestTimeout(requestTimeout)
             .build();
     }
 
-    public DockerElasticSearch getDockerES() {
-        return dockerElasticSearch;
+    public DockerOpenSearch getDockerES() {
+        return dockerOpenSearch;
     }
 }
diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/DockerElasticSearchRule.java b/server/apps/cassandra-app/src/test/java/org/apache/james/DockerElasticSearchRule.java
index 55ba08c6ed..153e5de0cd 100644
--- a/server/apps/cassandra-app/src/test/java/org/apache/james/DockerElasticSearchRule.java
+++ b/server/apps/cassandra-app/src/test/java/org/apache/james/DockerElasticSearchRule.java
@@ -19,8 +19,8 @@
 
 package org.apache.james;
 
-import org.apache.james.backends.opensearch.DockerElasticSearch;
 import org.apache.james.backends.opensearch.DockerElasticSearchSingleton;
+import org.apache.james.backends.opensearch.DockerOpenSearch;
 import org.apache.james.modules.TestDockerElasticSearchModule;
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
@@ -30,7 +30,7 @@ import com.google.inject.Module;
 
 public class DockerElasticSearchRule implements GuiceModuleTestRule {
 
-    private final DockerElasticSearch elasticSearch = DockerElasticSearchSingleton.INSTANCE;
+    private final DockerOpenSearch elasticSearch = DockerElasticSearchSingleton.INSTANCE;
 
     @Override
     public Statement apply(Statement base, Description description) {
@@ -47,7 +47,7 @@ public class DockerElasticSearchRule implements GuiceModuleTestRule {
         return new TestDockerElasticSearchModule(elasticSearch);
     }
 
-    public DockerElasticSearch getDockerEs() {
+    public DockerOpenSearch getDockerEs() {
         return elasticSearch;
     }
 
diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/JamesWithNonCompatibleElasticSearchServerTest.java b/server/apps/cassandra-app/src/test/java/org/apache/james/JamesWithNonCompatibleElasticSearchServerTest.java
index 126e2f251f..cff8bda810 100644
--- a/server/apps/cassandra-app/src/test/java/org/apache/james/JamesWithNonCompatibleElasticSearchServerTest.java
+++ b/server/apps/cassandra-app/src/test/java/org/apache/james/JamesWithNonCompatibleElasticSearchServerTest.java
@@ -22,7 +22,7 @@ package org.apache.james;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
-import org.apache.james.backends.opensearch.DockerElasticSearch;
+import org.apache.james.backends.opensearch.DockerOpenSearch;
 import org.apache.james.lifecycle.api.StartUpCheck;
 import org.apache.james.lifecycle.api.StartUpCheck.CheckResult;
 import org.apache.james.modules.TestJMAPServerModule;
@@ -34,7 +34,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 
 class JamesWithNonCompatibleElasticSearchServerTest {
 
-    static DockerElasticSearch dockerES6 = new DockerElasticSearch.NoAuth(Images.ELASTICSEARCH_6);
+    static DockerOpenSearch dockerES6 = new DockerOpenSearch.NoAuth(Images.ELASTICSEARCH_6);
 
     @RegisterExtension
     static JamesServerExtension testExtension = TestingDistributedJamesServerBuilder.withSearchConfiguration(SearchConfiguration.elasticSearch())
diff --git a/server/apps/cassandra-app/src/test/java/org/apache/james/modules/TestDockerElasticSearchModule.java b/server/apps/cassandra-app/src/test/java/org/apache/james/modules/TestDockerElasticSearchModule.java
index e5e6f1c6f6..2d204c10ac 100644
--- a/server/apps/cassandra-app/src/test/java/org/apache/james/modules/TestDockerElasticSearchModule.java
+++ b/server/apps/cassandra-app/src/test/java/org/apache/james/modules/TestDockerElasticSearchModule.java
@@ -20,8 +20,8 @@
 package org.apache.james.modules;
 
 import org.apache.james.CleanupTasksPerformer;
-import org.apache.james.backends.opensearch.DockerElasticSearch;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
+import org.apache.james.backends.opensearch.DockerOpenSearch;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.multibindings.Multibinder;
@@ -30,9 +30,9 @@ public class TestDockerElasticSearchModule extends AbstractModule {
 
     private static class ESContainerCleanUp implements CleanupTasksPerformer.CleanupTask {
 
-        private final DockerElasticSearch elasticSearch;
+        private final DockerOpenSearch elasticSearch;
 
-        private ESContainerCleanUp(DockerElasticSearch elasticSearch) {
+        private ESContainerCleanUp(DockerOpenSearch elasticSearch) {
             this.elasticSearch = elasticSearch;
         }
 
@@ -44,15 +44,15 @@ public class TestDockerElasticSearchModule extends AbstractModule {
         }
     }
 
-    private final DockerElasticSearch elasticSearch;
+    private final DockerOpenSearch elasticSearch;
 
-    public TestDockerElasticSearchModule(DockerElasticSearch elasticSearch) {
+    public TestDockerElasticSearchModule(DockerOpenSearch elasticSearch) {
         this.elasticSearch = elasticSearch;
     }
 
     @Override
     protected void configure() {
-        bind(ElasticSearchConfiguration.class).toInstance(elasticSearch.configuration());
+        bind(OpenSearchConfiguration.class).toInstance(elasticSearch.configuration());
         Multibinder.newSetBinder(binder(), CleanupTasksPerformer.CleanupTask.class)
             .addBinding()
             .toInstance(new ESContainerCleanUp(elasticSearch));
diff --git a/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/DockerElasticSearchExtension.java b/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/DockerElasticSearchExtension.java
index c6d393aa1d..21612a7fec 100644
--- a/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/DockerElasticSearchExtension.java
+++ b/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/DockerElasticSearchExtension.java
@@ -22,16 +22,16 @@ package org.apache.james;
 import java.time.Duration;
 import java.util.Optional;
 
-import org.apache.james.backends.opensearch.DockerElasticSearch;
 import org.apache.james.backends.opensearch.DockerElasticSearchSingleton;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
+import org.apache.james.backends.opensearch.DockerOpenSearch;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
 import org.junit.jupiter.api.extension.ExtensionContext;
 
 import com.google.inject.Module;
 
 public class DockerElasticSearchExtension implements GuiceModuleTestExtension {
 
-    private final DockerElasticSearch dockerElasticSearch;
+    private final DockerOpenSearch dockerOpenSearch;
     private Optional<Duration> requestTimeout;
 
     public DockerElasticSearchExtension() {
@@ -43,8 +43,8 @@ public class DockerElasticSearchExtension implements GuiceModuleTestExtension {
         return this;
     }
 
-    public DockerElasticSearchExtension(DockerElasticSearch dockerElasticSearch) {
-        this.dockerElasticSearch = dockerElasticSearch;
+    public DockerElasticSearchExtension(DockerOpenSearch dockerOpenSearch) {
+        this.dockerOpenSearch = dockerOpenSearch;
         requestTimeout = Optional.empty();
     }
 
@@ -67,7 +67,7 @@ public class DockerElasticSearchExtension implements GuiceModuleTestExtension {
 
     @Override
     public Module getModule() {
-        return binder -> binder.bind(ElasticSearchConfiguration.class)
+        return binder -> binder.bind(OpenSearchConfiguration.class)
             .toInstance(getElasticSearchConfigurationForDocker());
     }
 
@@ -76,14 +76,14 @@ public class DockerElasticSearchExtension implements GuiceModuleTestExtension {
         getDockerES().flushIndices();
     }
 
-    private ElasticSearchConfiguration getElasticSearchConfigurationForDocker() {
-        return ElasticSearchConfiguration.builder()
+    private OpenSearchConfiguration getElasticSearchConfigurationForDocker() {
+        return OpenSearchConfiguration.builder()
             .addHost(getDockerES().getHttpHost())
             .requestTimeout(requestTimeout)
             .build();
     }
 
-    public DockerElasticSearch getDockerES() {
-        return dockerElasticSearch;
+    public DockerOpenSearch getDockerES() {
+        return dockerOpenSearch;
     }
 }
diff --git a/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/DockerElasticSearchRule.java b/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/DockerElasticSearchRule.java
index 55ba08c6ed..153e5de0cd 100644
--- a/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/DockerElasticSearchRule.java
+++ b/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/DockerElasticSearchRule.java
@@ -19,8 +19,8 @@
 
 package org.apache.james;
 
-import org.apache.james.backends.opensearch.DockerElasticSearch;
 import org.apache.james.backends.opensearch.DockerElasticSearchSingleton;
+import org.apache.james.backends.opensearch.DockerOpenSearch;
 import org.apache.james.modules.TestDockerElasticSearchModule;
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
@@ -30,7 +30,7 @@ import com.google.inject.Module;
 
 public class DockerElasticSearchRule implements GuiceModuleTestRule {
 
-    private final DockerElasticSearch elasticSearch = DockerElasticSearchSingleton.INSTANCE;
+    private final DockerOpenSearch elasticSearch = DockerElasticSearchSingleton.INSTANCE;
 
     @Override
     public Statement apply(Statement base, Description description) {
@@ -47,7 +47,7 @@ public class DockerElasticSearchRule implements GuiceModuleTestRule {
         return new TestDockerElasticSearchModule(elasticSearch);
     }
 
-    public DockerElasticSearch getDockerEs() {
+    public DockerOpenSearch getDockerEs() {
         return elasticSearch;
     }
 
diff --git a/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/modules/TestDockerElasticSearchModule.java b/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/modules/TestDockerElasticSearchModule.java
index e5e6f1c6f6..2d204c10ac 100644
--- a/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/modules/TestDockerElasticSearchModule.java
+++ b/server/apps/scaling-pulsar-smtp/src/test/java/org/apache/james/modules/TestDockerElasticSearchModule.java
@@ -20,8 +20,8 @@
 package org.apache.james.modules;
 
 import org.apache.james.CleanupTasksPerformer;
-import org.apache.james.backends.opensearch.DockerElasticSearch;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
+import org.apache.james.backends.opensearch.DockerOpenSearch;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.multibindings.Multibinder;
@@ -30,9 +30,9 @@ public class TestDockerElasticSearchModule extends AbstractModule {
 
     private static class ESContainerCleanUp implements CleanupTasksPerformer.CleanupTask {
 
-        private final DockerElasticSearch elasticSearch;
+        private final DockerOpenSearch elasticSearch;
 
-        private ESContainerCleanUp(DockerElasticSearch elasticSearch) {
+        private ESContainerCleanUp(DockerOpenSearch elasticSearch) {
             this.elasticSearch = elasticSearch;
         }
 
@@ -44,15 +44,15 @@ public class TestDockerElasticSearchModule extends AbstractModule {
         }
     }
 
-    private final DockerElasticSearch elasticSearch;
+    private final DockerOpenSearch elasticSearch;
 
-    public TestDockerElasticSearchModule(DockerElasticSearch elasticSearch) {
+    public TestDockerElasticSearchModule(DockerOpenSearch elasticSearch) {
         this.elasticSearch = elasticSearch;
     }
 
     @Override
     protected void configure() {
-        bind(ElasticSearchConfiguration.class).toInstance(elasticSearch.configuration());
+        bind(OpenSearchConfiguration.class).toInstance(elasticSearch.configuration());
         Multibinder.newSetBinder(binder(), CleanupTasksPerformer.CleanupTask.class)
             .addBinding()
             .toInstance(new ESContainerCleanUp(elasticSearch));
diff --git a/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchClientModule.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchClientModule.java
index ef89860c28..781f2f63e8 100644
--- a/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchClientModule.java
+++ b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchClientModule.java
@@ -22,8 +22,8 @@ package org.apache.james.modules.mailbox;
 import java.util.Set;
 
 import org.apache.james.backends.opensearch.ClientProvider;
-import org.apache.james.backends.opensearch.ElasticSearchHealthCheck;
 import org.apache.james.backends.opensearch.IndexName;
+import org.apache.james.backends.opensearch.OpenSearchHealthCheck;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.core.healthcheck.HealthCheck;
 import org.apache.james.mailbox.opensearch.ElasticSearchMailboxConfiguration;
@@ -45,7 +45,7 @@ public class ElasticSearchClientModule extends AbstractModule {
 
         Multibinder.newSetBinder(binder(), HealthCheck.class)
             .addBinding()
-            .to(ElasticSearchHealthCheck.class);
+            .to(OpenSearchHealthCheck.class);
     }
 
     @Provides
diff --git a/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
index d2ba429da6..ef0f70b31b 100644
--- a/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
+++ b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
@@ -30,8 +30,8 @@ import javax.inject.Singleton;
 
 import org.apache.commons.configuration2.Configuration;
 import org.apache.commons.configuration2.ex.ConfigurationException;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.backends.opensearch.RoutingKey;
 import org.apache.james.events.EventListener;
@@ -71,12 +71,12 @@ public class ElasticSearchMailboxModule extends AbstractModule {
 
     static class MailboxIndexCreator implements Startable {
 
-        private final ElasticSearchConfiguration configuration;
+        private final OpenSearchConfiguration configuration;
         private final ElasticSearchMailboxConfiguration mailboxConfiguration;
         private final ReactorElasticSearchClient client;
 
         @Inject
-        MailboxIndexCreator(ElasticSearchConfiguration configuration,
+        MailboxIndexCreator(OpenSearchConfiguration configuration,
                             ElasticSearchMailboxConfiguration mailboxConfiguration,
                             ReactorElasticSearchClient client) {
             this.configuration = configuration;
@@ -117,7 +117,7 @@ public class ElasticSearchMailboxModule extends AbstractModule {
     }
 
     @Provides
-    Set<SearchOverride> provideSearchOverrides(GuiceGenericLoader loader, ElasticSearchConfiguration configuration) {
+    Set<SearchOverride> provideSearchOverrides(GuiceGenericLoader loader, OpenSearchConfiguration configuration) {
         return configuration.getSearchOverrides()
             .stream()
             .map(ClassName::new)
@@ -129,9 +129,9 @@ public class ElasticSearchMailboxModule extends AbstractModule {
     @Provides
     @Singleton
     @Named(MailboxElasticSearchConstants.InjectionNames.MAILBOX)
-    private ElasticSearchIndexer createMailboxElasticSearchIndexer(ReactorElasticSearchClient client,
-                                                                   ElasticSearchMailboxConfiguration configuration) {
-        return new ElasticSearchIndexer(
+    private OpenSearchIndexer createMailboxElasticSearchIndexer(ReactorElasticSearchClient client,
+                                                                ElasticSearchMailboxConfiguration configuration) {
+        return new OpenSearchIndexer(
             client,
             configuration.getWriteAliasMailboxName());
     }
@@ -151,14 +151,14 @@ public class ElasticSearchMailboxModule extends AbstractModule {
 
     @Provides
     @Singleton
-    private ElasticSearchConfiguration getElasticSearchConfiguration(PropertiesProvider propertiesProvider) throws ConfigurationException {
+    private OpenSearchConfiguration getElasticSearchConfiguration(PropertiesProvider propertiesProvider) throws ConfigurationException {
         try {
             Configuration configuration = propertiesProvider.getConfiguration(ELASTICSEARCH_CONFIGURATION_NAME);
-            return ElasticSearchConfiguration.fromProperties(configuration);
+            return OpenSearchConfiguration.fromProperties(configuration);
         } catch (FileNotFoundException e) {
             LOGGER.warn("Could not find " + ELASTICSEARCH_CONFIGURATION_NAME + " configuration file. Using {}:{} as contact point",
-                ElasticSearchConfiguration.LOCALHOST, ElasticSearchConfiguration.DEFAULT_PORT);
-            return ElasticSearchConfiguration.DEFAULT_CONFIGURATION;
+                OpenSearchConfiguration.LOCALHOST, OpenSearchConfiguration.DEFAULT_PORT);
+            return OpenSearchConfiguration.DEFAULT_CONFIGURATION;
         }
     }
 
diff --git a/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
index 061000ca0a..29315c4851 100644
--- a/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
+++ b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchQuotaSearcherModule.java
@@ -28,8 +28,8 @@ import javax.inject.Inject;
 
 import org.apache.commons.configuration2.Configuration;
 import org.apache.commons.configuration2.ex.ConfigurationException;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.events.EventListener;
 import org.apache.james.lifecycle.api.Startable;
@@ -56,12 +56,12 @@ import com.google.inject.multibindings.ProvidesIntoSet;
 public class ElasticSearchQuotaSearcherModule extends AbstractModule {
 
     static class ElasticSearchQuotaIndexCreator implements Startable {
-        private final ElasticSearchConfiguration configuration;
+        private final OpenSearchConfiguration configuration;
         private final ElasticSearchQuotaConfiguration quotaConfiguration;
         private final ReactorElasticSearchClient client;
 
         @Inject
-        ElasticSearchQuotaIndexCreator(ElasticSearchConfiguration configuration,
+        ElasticSearchQuotaIndexCreator(OpenSearchConfiguration configuration,
                                        ElasticSearchQuotaConfiguration quotaConfiguration,
                                        ReactorElasticSearchClient client) {
             this.configuration = configuration;
@@ -112,7 +112,7 @@ public class ElasticSearchQuotaSearcherModule extends AbstractModule {
                                                              ElasticSearchQuotaConfiguration configuration,
                                                              QuotaRootResolver quotaRootResolver) {
         return new ElasticSearchQuotaMailboxListener(
-            new ElasticSearchIndexer(client,
+            new OpenSearchIndexer(client,
                 configuration.getWriteAliasQuotaRatioName()),
                 new QuotaRatioToElasticSearchJson(quotaRootResolver),
             new UserRoutingKeyFactory(), quotaRootResolver);
diff --git a/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchStartUpCheck.java b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchStartUpCheck.java
index 83560db985..65b339504d 100644
--- a/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchStartUpCheck.java
+++ b/server/container/guice/elasticsearch/src/main/java/org/apache/james/modules/mailbox/ElasticSearchStartUpCheck.java
@@ -23,7 +23,7 @@ import java.io.IOException;
 
 import javax.inject.Inject;
 
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.lifecycle.api.StartUpCheck;
 import org.opensearch.Version;
@@ -33,7 +33,7 @@ import org.slf4j.LoggerFactory;
 
 public class ElasticSearchStartUpCheck implements StartUpCheck {
 
-    private static final Logger LOGGER = LoggerFactory.getLogger(ElasticSearchConfiguration.class);
+    private static final Logger LOGGER = LoggerFactory.getLogger(OpenSearchConfiguration.class);
 
     private static final Version RECOMMENDED_ES_VERSION = Version.V_2_0_0;
     private static final String VERSION_CHECKING_ERROR_MESSAGE = "Error when checking ES version";
diff --git a/server/container/guice/elasticsearch/src/test/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModuleTest.java b/server/container/guice/elasticsearch/src/test/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModuleTest.java
index 18520a7697..026d8003cf 100644
--- a/server/container/guice/elasticsearch/src/test/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModuleTest.java
+++ b/server/container/guice/elasticsearch/src/test/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModuleTest.java
@@ -24,7 +24,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 
 import java.util.Set;
 
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
 import org.apache.james.mailbox.store.search.ListeningMessageSearchIndex;
 import org.apache.james.util.Host;
 import org.apache.james.utils.ExtendedClassLoader;
@@ -45,7 +45,7 @@ class ElasticSearchMailboxModuleTest {
 
         Set<ListeningMessageSearchIndex.SearchOverride> searchOverrides = new ElasticSearchMailboxModule()
             .provideSearchOverrides(genericLoader,
-            ElasticSearchConfiguration.builder()
+            OpenSearchConfiguration.builder()
                 .addHost(Host.parseConfString("127.0.0.1", 9200))
                 .withSearchOverrides(ImmutableList.of(
                     "org.apache.james.modules.mailbox.SearchOverrideA",
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java
index 97d02843b0..8d64e1e567 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/ElasticSearchQuotaSearchExtension.java
@@ -23,10 +23,10 @@ import static org.mockito.Mockito.mock;
 
 import java.io.IOException;
 
-import org.apache.james.backends.opensearch.DockerElasticSearch;
 import org.apache.james.backends.opensearch.DockerElasticSearchSingleton;
-import org.apache.james.backends.opensearch.ElasticSearchConfiguration;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.DockerOpenSearch;
+import org.apache.james.backends.opensearch.OpenSearchConfiguration;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.domainlist.lib.DomainListConfiguration;
@@ -51,7 +51,7 @@ import org.junit.rules.TemporaryFolder;
 
 public class ElasticSearchQuotaSearchExtension implements ParameterResolver, BeforeEachCallback, AfterEachCallback {
 
-    private final DockerElasticSearch elasticSearch = DockerElasticSearchSingleton.INSTANCE;
+    private final DockerOpenSearch elasticSearch = DockerElasticSearchSingleton.INSTANCE;
     private WebAdminQuotaSearchTestSystem restQuotaSearchTestSystem;
     private TemporaryFolder temporaryFolder = new TemporaryFolder();
     private ReactorElasticSearchClient client;
@@ -64,7 +64,7 @@ public class ElasticSearchQuotaSearchExtension implements ParameterResolver, Bef
 
             client = QuotaSearchIndexCreationUtil.prepareDefaultClient(
                 elasticSearch.clientProvider().get(),
-                ElasticSearchConfiguration.builder()
+                OpenSearchConfiguration.builder()
                     .addHost(elasticSearch.getHttpHost())
                     .build());
 
@@ -77,7 +77,7 @@ public class ElasticSearchQuotaSearchExtension implements ParameterResolver, Bef
             MemoryUsersRepository usersRepository = MemoryUsersRepository.withVirtualHosting(domainList);
 
             ElasticSearchQuotaMailboxListener listener = new ElasticSearchQuotaMailboxListener(
-                new ElasticSearchIndexer(client, QuotaRatioElasticSearchConstants.DEFAULT_QUOTA_RATIO_WRITE_ALIAS),
+                new OpenSearchIndexer(client, QuotaRatioElasticSearchConstants.DEFAULT_QUOTA_RATIO_WRITE_ALIAS),
                 new QuotaRatioToElasticSearchJson(resources.getQuotaRootResolver()),
                 new UserRoutingKeyFactory(), resources.getQuotaRootResolver());
 
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java
index e0bdad4abc..116d5aa35f 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/MailboxesRoutesTest.java
@@ -42,7 +42,7 @@ import java.util.List;
 import javax.mail.Flags;
 
 import org.apache.james.backends.opensearch.DockerElasticSearchExtension;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.core.Username;
 import org.apache.james.json.DTOConverter;
@@ -50,15 +50,6 @@ import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageIdManager;
 import org.apache.james.mailbox.MessageManager;
 import org.apache.james.mailbox.MessageUid;
-import org.apache.james.mailbox.opensearch.IndexAttachments;
-import org.apache.james.mailbox.opensearch.MailboxElasticSearchConstants;
-import org.apache.james.mailbox.opensearch.MailboxIdRoutingKeyFactory;
-import org.apache.james.mailbox.opensearch.MailboxIndexCreationUtil;
-import org.apache.james.mailbox.opensearch.events.ElasticSearchListeningMessageSearchIndex;
-import org.apache.james.mailbox.opensearch.json.MessageToElasticSearchJson;
-import org.apache.james.mailbox.opensearch.query.CriterionConverter;
-import org.apache.james.mailbox.opensearch.query.QueryConverter;
-import org.apache.james.mailbox.opensearch.search.ElasticSearchSearcher;
 import org.apache.james.mailbox.indexer.ReIndexer;
 import org.apache.james.mailbox.inmemory.InMemoryId;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxManager;
@@ -73,6 +64,15 @@ import org.apache.james.mailbox.model.MailboxPath;
 import org.apache.james.mailbox.model.MessageResult;
 import org.apache.james.mailbox.model.ThreadId;
 import org.apache.james.mailbox.model.UpdatedFlags;
+import org.apache.james.mailbox.opensearch.IndexAttachments;
+import org.apache.james.mailbox.opensearch.MailboxElasticSearchConstants;
+import org.apache.james.mailbox.opensearch.MailboxIdRoutingKeyFactory;
+import org.apache.james.mailbox.opensearch.MailboxIndexCreationUtil;
+import org.apache.james.mailbox.opensearch.events.ElasticSearchListeningMessageSearchIndex;
+import org.apache.james.mailbox.opensearch.json.MessageToElasticSearchJson;
+import org.apache.james.mailbox.opensearch.query.CriterionConverter;
+import org.apache.james.mailbox.opensearch.query.QueryConverter;
+import org.apache.james.mailbox.opensearch.search.ElasticSearchSearcher;
 import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder;
@@ -144,7 +144,7 @@ class MailboxesRoutesTest {
             .listeningSearchIndex(preInstanciationStage -> new ElasticSearchListeningMessageSearchIndex(
                 preInstanciationStage.getMapperFactory(),
                 ImmutableSet.of(),
-                new ElasticSearchIndexer(client,
+                new OpenSearchIndexer(client,
                     MailboxElasticSearchConstants.DEFAULT_MAILBOX_WRITE_ALIAS),
                 new ElasticSearchSearcher(client, new QueryConverter(new CriterionConverter()), SEARCH_SIZE,
                     MailboxElasticSearchConstants.DEFAULT_MAILBOX_READ_ALIAS, routingKeyFactory),
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
index 135a099dc9..5db6267574 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/UserMailboxesRoutesTest.java
@@ -56,7 +56,7 @@ import java.util.stream.IntStream;
 import javax.mail.Flags;
 
 import org.apache.james.backends.opensearch.DockerElasticSearchExtension;
-import org.apache.james.backends.opensearch.ElasticSearchIndexer;
+import org.apache.james.backends.opensearch.OpenSearchIndexer;
 import org.apache.james.backends.opensearch.ReactorElasticSearchClient;
 import org.apache.james.core.Username;
 import org.apache.james.json.DTOConverter;
@@ -66,15 +66,6 @@ import org.apache.james.mailbox.MailboxSessionUtil;
 import org.apache.james.mailbox.MessageIdManager;
 import org.apache.james.mailbox.MessageManager;
 import org.apache.james.mailbox.MessageUid;
-import org.apache.james.mailbox.opensearch.IndexAttachments;
-import org.apache.james.mailbox.opensearch.MailboxElasticSearchConstants;
-import org.apache.james.mailbox.opensearch.MailboxIdRoutingKeyFactory;
-import org.apache.james.mailbox.opensearch.MailboxIndexCreationUtil;
-import org.apache.james.mailbox.opensearch.events.ElasticSearchListeningMessageSearchIndex;
-import org.apache.james.mailbox.opensearch.json.MessageToElasticSearchJson;
-import org.apache.james.mailbox.opensearch.query.CriterionConverter;
-import org.apache.james.mailbox.opensearch.query.QueryConverter;
-import org.apache.james.mailbox.opensearch.search.ElasticSearchSearcher;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.exception.MailboxExistsException;
 import org.apache.james.mailbox.exception.MailboxNotFoundException;
@@ -96,6 +87,15 @@ import org.apache.james.mailbox.model.MessageResult;
 import org.apache.james.mailbox.model.ThreadId;
 import org.apache.james.mailbox.model.UpdatedFlags;
 import org.apache.james.mailbox.model.search.MailboxQuery;
+import org.apache.james.mailbox.opensearch.IndexAttachments;
+import org.apache.james.mailbox.opensearch.MailboxElasticSearchConstants;
+import org.apache.james.mailbox.opensearch.MailboxIdRoutingKeyFactory;
+import org.apache.james.mailbox.opensearch.MailboxIndexCreationUtil;
+import org.apache.james.mailbox.opensearch.events.ElasticSearchListeningMessageSearchIndex;
+import org.apache.james.mailbox.opensearch.json.MessageToElasticSearchJson;
+import org.apache.james.mailbox.opensearch.query.CriterionConverter;
+import org.apache.james.mailbox.opensearch.query.QueryConverter;
+import org.apache.james.mailbox.opensearch.search.ElasticSearchSearcher;
 import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
 import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
@@ -1472,7 +1472,7 @@ class UserMailboxesRoutesTest {
                 .listeningSearchIndex(preInstanciationStage -> new ElasticSearchListeningMessageSearchIndex(
                     preInstanciationStage.getMapperFactory(),
                     ImmutableSet.of(),
-                    new ElasticSearchIndexer(client,
+                    new OpenSearchIndexer(client,
                         MailboxElasticSearchConstants.DEFAULT_MAILBOX_WRITE_ALIAS),
                     new ElasticSearchSearcher(client, new QueryConverter(new CriterionConverter()), SEARCH_SIZE,
                         MailboxElasticSearchConstants.DEFAULT_MAILBOX_READ_ALIAS, routingKeyFactory),


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org