ES 8 中洗掉了傳輸客戶端;高級別的客戶端已被棄用并將被移除;ES 8 中使用了新的 Java API 客戶端。
但是 .Net 自 2x 以來具有相同的高級 Elasticsearch .NET 客戶端。為什么有這么多 ES java 客戶端?
uj5u.com熱心網友回復:
簡而言之,由于歷史原因,出現了一些 Java 客戶端。
傳輸客戶端使用 Elasticsearch 的傳輸協議,即節點用于相互通信的協議。如果客戶端與集群的版本不同,則可能存在兼容性問題。Java 客戶端是唯一使用傳輸協議的客戶端,而其他所有客戶端都使用 http 協議。
高級 Rest 客戶端 (HLRC) 取代了傳輸客戶端并使用了 http 協議。這是朝著正確方向邁出的一步,但是,客戶端仍然依賴于 Elasticsearch 中的型別。
新的 Java 客戶端取代了 HLRC,并與 Elasticsearch 完全分離。客戶端的大部分 API 表面都是從 API 規范生成的,提供了更易于維護和一致的 API 表面。
順便說一句,雖然自 1.x 以來 .NET 客戶端(Elasticsearch.Net 和 NEST)一直有一致的 Nuget 包,但客戶端在這段時間經歷了相當多的演變,主要版本之間發生了重大變化。8.x 也有一個新的 .NET(alpha 版本):)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/454852.html
標籤:弹性搜索
