Elasticsearch 7.17、spring data elasticsearch 和 elasticsearch-rest-high-level-client 之间的兼容性(作为 Spring 引导 Maven 依赖项)

Compatibility (as Spring boot Maven dependencies) between Elasticsearch 7.17, spring data elasticsearch and elasticsearch-rest-high-level-client

我有一个 Spring Boot + Elasticsearch 应用程序,其中包含现已弃用的高级 Rest 客户端。我正在尝试将现有的 queries/methods 迁移到新的 Java API 客户端,但想保留 HLRC 一段时间(以防我破坏任何东西)。

我似乎 运行 陷入了一个我没有得到的依赖性问题。我目前收到错误 java.lang.NoClassDefFoundError: org/elasticsearch/xcontent/ToXContentObject,我认为这是由于兼容性问题造成的。这些是我当前的(相关的)依赖项:

<dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <version>7.17.3</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>jakarta.json</groupId>
            <artifactId>jakarta.json-api</artifactId>
            <version>2.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-elasticsearch</artifactId>
            <version>4.3.4</version>
        </dependency>

Elasticsearch 在 7.17 上。至于 Maven 依赖项......我真的不知道要使用什么版本,以便在我测试新代码时它仍然可以 运行 旧的 HLRC? (所以我将版本设置为可能的最新版本)

编辑信息:

任何pointers/fixes赞赏!

如果我没记错的话,在 7.15 或 7.16 版本中,Elasticsearch 进行了重大更改,将 xcontent 类 移到了另一个包中。您不能将 Spring Data Elasticsearch 4.3.x 与 Elasticsearch 7.17

一起使用