gpt4 book ai didi

java - 我可以在旧版本的 elasticsearch 上使用更新版本的 java 高级休息客户端吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:59 25 4
gpt4 key购买 nike

我们在 AWS 上运行 elasticsearch,目前支持 elasticsearch 6.3 作为最新版本。

我们有一个业务案例,我们需要每天更新索引中的所有文档并删除一个嵌套对象。有elasticsearch的Update by query API这将解决我们的目的。

但在我们的 Java 应用程序中,我们使用的是 Java 高级休息客户端。 rest client version 6.5 支持通过查询 api 进行更新.现在,如果我们将其余客户端升级到 6.5,我们还需要升级 pom 中的 elasticsearch 版本。否则它们不兼容。

    <dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>${elasticsearch.version}</version>
</dependency>

<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>${elasticsearch.version}</version>
</dependency>

那么我们是否可以在我们的java服务中将客户端和elasticsearch版本升级到6.5,并且仍然使用elasticsearch 6.3?我试过了,它确实有效,但我不想让我们的数据被破坏,所以我只想彻底。

编辑:6.3 中也提供了按查询更新但此 api 使用较旧的 Transportclient,它应该很快就会被弃用。

最佳答案

根据 Elasticsearch ,

running a mixed version cluster is something we only recommend during the upgrade process, not as the status quo. Having older versions of nodes or clients in the cluster limits the support of newer features, as the older client simply doesn't know how to write or read requests in the newer binary format.

这也应该反过来应用(旧 ES 版本的新客户端)

此外,在这个Recommendation ,@Samuel Kok 指出:

The client should always be updated last, once all of the nodes in the cluster have been upgraded to the new major version.

关于java - 我可以在旧版本的 elasticsearch 上使用更新版本的 java 高级休息客户端吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53554328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com