概述#
ES 在 7.0 版本开始将废弃 TransportClient,8.0 版本开始将完全移除 TransportClient,取而代之的是 High Level REST Client,官方文档介绍的很详细。
Java High Level REST Client 为高级别的Rest客户端,基于低级别的REST客户端,增加了编组请求JSON串,解析响应 JSON 串等相关 API,使用的版本需要和 ES 服务端的版本保持一致,否则会有版本问题。
除了官方文档之外,还有 [JavaDOC 文档](Javadocedit
The javadoc for the REST high level client can be found at https://artifacts.elastic.co/javadoc/org/elasticsearch/client/elasticsearch-rest-high-level-client/7.0.1/index.html) 查阅。
Maven 依赖#
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>7.0.1</version> </dependency> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>7.0.1</version> </dependency> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-client</artifactId> <version>7.0.1</version> </dependency>
注意,使用 Java High Level REST Client 最低版本也需要 Java 1.8 版本。此外,The High Level Java REST Clien 还依赖了
org.elasticsearch:elasticsearch,
org.elasticsearch.client:elasticsearch-rest-client
因此, POM 文件中指定了和 ES 同版本的相关依赖,避免版本不一致引发的问题。
初始化#
RestHighLevelClient client = new RestHighLevelClient( RestClient.builder( new HttpHost("192.168.3.43", 9200, "http")));
关闭:
client.close();