SpringData Elasticsearch、Elasticsearch、Spring Boot兼容矩陣

在應用Elasticsearch的項目開發中,經常遇到的一個問題是Spring Data Elasticsearch開源組件和Elasticsearch的兼容性問題。


一、Spring Data Elasticsearch 組件

下表顯示了Spring Data release版本兼容的Elasticsearch版,以及其中包含的Spring Data Elasticsearch版本,和Spring Boot版本。參照下面的兼容矩陣,避免不同版本之間的兼容性問題。

SpringData Elasticsearch、Elasticsearch、Spring Boot兼容矩陣

其中標註1:表示正在開發中。

下面是Spring Data Elasticsearch 的版本列表,當前正式版本為3.2.5。眾望所歸的Spring Data Elasticsearch新版4.0.0,還處於M4階段。

SpringData Elasticsearch、Elasticsearch、Spring Boot兼容矩陣


二、推薦使用Java High Level REST Client

Spring Data Elasticsearch 組件主要是與Spring生態對接,可以在web系統中整合到Spring中使用。Spring Data Elasticsearch 是 Spring Data 的 Community modules 之一,是 Spring Data 對 Elasticsearch 引擎的實現。該組件最大的問題是更新不及時,遠遠落後於Elasticsearch 發佈的速度。


現在存在至少三種Java客戶端:

1. Transport Client

TransportClient 將被Java High-level REST client接口取代。 在 Elasticsearch 7.*版本中將不贊成使用TransportClient,在Elasticsearch 8.0 版本中將被移除,建議使用Java High-level REST Client客戶端。

2. Java High Level REST Client

它基於Low-level REST Client接口,並暴露了特定的API方法,負責處理請求的序列化和響應的反序列化。

3. Java Low Level REST Client

它允許HTTP和Elasticsearch集群通信,並將請求的序列化和響應的反序列化交給用戶自己處理。


關於Java High Level REST Client詳細介紹和演示項目源代碼,可訪問Elasticsearch 7.x 技術專欄。


分享到:


相關文章: