概述
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();