Elasticsearch Java REST Client
Java REST Client有兩種型別:
Java Low Level REST Client:用於Elasticsearch的官方低階別客戶端,它允許通過http
與Elasticsearch叢集通訊,將請求編組和響應反編組留給使用者,它與所有Elasticsearch版本相容。
Java High Level REST Client:用於Elasticsearch的官方高階別客戶端,基於低階別客戶端,它公開API特定的方法,並負責請求編組和響應反編組。
- 版本:6.5
- 更新日期:2018-11-23
Java Low Level REST Client
低階別客戶端的特性包括:最小的依賴關係;跨所有可用節點負載均衡;在節點故障的情況下根據特定的響應碼進行故障轉移;失敗的連線懲罰(失敗的節點是否被重試取決於它連續失敗了多少次,失敗的嘗試越多,客戶端在再次嘗試同一節點之前等待的時間就越長);持久連線;跟蹤請求和響應的日誌記錄;可選的自動發現叢集節點。
Java High Level REST Client
在6.0.0-beta1中被新增。
Java High Level REST Client在Java Low Level REST客戶端之上工作,它的主要目標是公開API特定的方法,這些方法接受請求物件作為引數並返回響應物件,以便由客戶端自己處理請求編組和響應反編組。
每個API可以同步呼叫,也可以非同步呼叫。同步方法返回響應物件,而名稱以async
字尾結尾的非同步方法則需要一個監聽器引數,一旦接收到響應或錯誤,監聽器就會被通知(在由低階別客戶端管理的執行緒池中)。
Java High Level REST Client依賴於Elasticsearch核心專案,它接受與TransportClient
相同的請求引數,並返回相同的響應物件。
文件 API
Java High Level REST Clien支援以下文件API:
- Index API
- Get API
- Exists API
- Delete API
- Update API
- Bulk API
- Multi-Get API
- Reindex API
- Update By Query API
- Delete By Query API
- Rethrottle API
搜尋 API
Java High Level REST Client支援以下搜尋API:
- Search API
- Search Scroll API
- Clear Scroll API
- Multi-Search API
- Search Template API
- Multi-Search-Template API
- Field Capabilities API
- Ranking Evaluation API
- Explain API