【发布时间】:2019-05-02 10:04:41
【问题描述】:
我们在 AWS 上运行 elasticsearch,目前支持 elasticsearch 6.3 作为最新版本。
我们有一个业务案例,我们需要每天更新索引中的所有文档并删除一个嵌套对象。 有elasticsearch的Update by query API可以解决我们的目的。
但是在我们的 Java 应用程序中,我们使用的是 Java 高级别的客户端。 rest client version 6.5 支持通过查询 api 进行更新。 现在如果我们将rest客户端升级到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 documentation 的推荐。
-
嗨,最近怎么样?
elasticsearch server 6.3是否与elasticsearch client 6.5版本配合得很好?谢谢。
标签: java elasticsearch elasticsearch-java-api