摘要:入門本節描述從獲取工件到在應用程序中使用它如何開始使用高級別客戶端。保證能夠與運行在相同主版本和大于或等于的次要版本上的任何節點通信。與具有相同的發布周期,將版本替換為想要的客戶端版本。
Java High Level REST Client 入門
本節描述從獲取工件到在應用程序中使用它如何開始使用高級別REST客戶端。
兼容性Java High Level REST Client需要Java 1.8,并依賴于Elasticsearch核心項目,客戶端版本與客戶端開發的Elasticsearch版本相同,它接受與TransportClient相同的請求參數,并返回相同的響應對象,如果需要將應用程序從TransportClient遷移到新的REST客戶端,請參閱遷移指南。
High Level Client保證能夠與運行在相同主版本和大于或等于的次要版本上的任何Elasticsearch節點通信。當它與Elasticsearch節點通信時,它不需要在同一個次要版本中,因為它是向前兼容的,這意味著它支持與Elasticsearch的更高的版本進行通信,而不是與其開發的版本進行通信。
6.0客戶端能夠與任何6.x Elasticsearch節點通信,而6.1客戶端肯定能夠與6.1,6.2和任何更高版本的6.x版本通信,但是,如果6.1客戶端支持6.0節點不知道的某些API的新請求主體字段,則在與先前的Elasticsearch節點版本通信時可能存在不兼容問題,例如在6.1和6.0之間。
建議在將Elasticsearch集群升級到新的主要版本時升級High Level Client,因為REST API重要更改可能會導致意外結果,具體取決于請求命中的節點,并且只有較新版本的客戶端才支持新添加的API,一旦集群中的所有節點都升級到新的主版本,客戶端應該總是在最后更新。
Javadoc可以在https://artifacts.elastic.co/javadoc/org/elasticsearch/client/elasticsearch-rest-high-level-client/6.4.2/index.html找到REST高級別客戶端的javadoc。
Maven倉庫高級別Java REST客戶端托管在Maven Central上,所需的最低Java版本為1.8。
High Level REST Client與Elasticsearch具有相同的發布周期,將版本替換為想要的客戶端版本。
如果你正在尋找SNAPSHOT版本,可以通過https://snapshots.elastic.co/maven/獲取Elastic Maven Snapshot倉庫。
Maven配置以下是如何使用maven作為依賴關系管理器來配置依賴關系,將以下內容添加到pom.xml文件中
Gradle配置org.elasticsearch.client elasticsearch-rest-high-level-client 6.4.2
以下是使用gradle作為依賴關系管理器配置依賴關系的方法,將以下內容添加到build.gradle文件中:
dependencies { compile "org.elasticsearch.client:elasticsearch-rest-high-level-client:6.4.2" }Lucene Snapshot倉庫
任何主要版本(如測試版)的最新版本可能都是基于Lucene Snapshot版本構建的,在這種情況下,你將無法解析客戶端的Lucene依賴關系。
例如,如果要使用依賴于Lucene 7.0.0-snapshot-00142c9的6.0.0-beta1版本,則必須定義以下存儲庫。
對于Maven:
elastic-lucene-snapshots Elastic Lucene Snapshots http://s3.amazonaws.com/download.elasticsearch.org/lucenesnapshots/00142c9 true false
對于Gradle:
maven { url "http://s3.amazonaws.com/download.elasticsearch.org/lucenesnapshots/00142c9" }依賴關系
High Level Java REST Client依賴于以下工件及其傳遞依賴性:
org.elasticsearch.client:elasticsearch-rest-client
org.elasticsearch:elasticsearch
初始化RestHighLevelClient實例需要按如下方式構建REST低級別客戶端構建器:
RestHighLevelClient client = new RestHighLevelClient( RestClient.builder( new HttpHost("localhost", 9200, "http"), new HttpHost("localhost", 9201, "http")));
高級別客戶端將在內部創建用于根據提供的構建器執行請求的低級別客戶端,該低級別客戶端維護一個連接池并啟動一些線程,因此當你完好無損地關閉高級別客戶端時,它將關閉內部低級別客戶端以釋放這些資源,這可以通過close來完成:
client.close();
在關于Java High Level Client的本文檔的其余部分中,RestHighLevelClient實例將被引用為client。
RequestOptionsRestHighLevelClient中的所有API都接受RequestOptions,你可以用來不會改變Elasticsearch執行請求的的方式自定義請求。例如,你可以在此處指定NodeSelector來控制哪個節點接收請求,有關自定義選項的更多示例,請參閱低級別客戶端文檔。
上一篇:Elasticsearch Java REST Client(嗅探器) 下一篇:Index API文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69696.html
摘要:用于的官方高級別客戶端,基于低級別客戶端,它公開特定的方法,并負責請求編組和響應反編組。入門初始化執行請求讀取響應日志記錄通用配置嗅探器在中被添加。依賴于核心項目,它接受與相同的請求參數,并返回相同的響應對象。 Elasticsearch Java REST Client Java REST Client有兩種類型: Java Low Level REST Client:用于Elast...
摘要:刷新策略作為提供。的典型偵聽器如下所示執行成功完成時調用。處理潛在的失敗。如果存在版本沖突,則拋出引發的異常表示返回了版本沖突錯誤。如果將設置為并且已存在具有相同索引類型和的文檔,則會發生相同的情況引發的異常表示返回了版本沖突錯誤。 Index API 索引請求 IndexRequest需要以下參數: IndexRequest request = new IndexRequest( ...
閱讀 3195·2021-11-24 10:30
閱讀 1319·2021-09-30 09:56
閱讀 2390·2021-09-07 10:20
閱讀 2603·2021-08-27 13:10
閱讀 706·2019-08-30 11:11
閱讀 2056·2019-08-29 12:13
閱讀 762·2019-08-26 12:24
閱讀 2902·2019-08-26 12:20