2026/10/21 4:16:46

Elasticsearch Java 客户端从 TransportClient 迁移到 9.x 新 API

Elasticsearch Java 客户端从 TransportClient 迁移到 9.x 新 API 一套运行在 Elasticsearch 5.6 上的 Java 服务要升级到 9.x,依赖换成新的 elasticsearch-java 之后,原先基于 TransportClient 和各种 *RequestBuilder 的封装全部编译不过。这不是简单的包名替换,客户端的编程模型已经整体换掉了。问题现象老代码的 Gradle 依赖是这样的:implementation'org.elasticsearch:elasticsearch:5.6.16'implementation'org.elasticsearch.client:transport:5.6.16'升级后改成:implementation'co.elastic.clients:elasticsearch-java:9.2.0'implementation'org.elasticsearch.client:elasticsearch-rest-client:9.2.0'编译期立刻出现大量 package does not exist / cannot find symbol: