介绍
这篇文档是由 Elasticsearch 官方提供的 Java API 客户端文档。该客户端为所有 Elasticsearch API 提供功能强大的请求以及响应。
特性
-
为所有 Elasticsearch API 提供功能强大的请求以及响应。
-
所有 API 都提供阻塞以及非阻塞两个版本。
-
提供了 fluent builders 和 functional patterns ,在创建复杂层级结构时可以更方便的编写简洁易读的代码。
-
通过使用 JSON 对象 mapper (例如 Jackson 或者是 JSON-B 的其它任何实现)来无缝集成应用类。
-
将协议委托给 http 客户端处理(如 Java 底层 REST 客户端 ),该客户端负责所有传输相关的问题:HTTP连接池、重试策略、节点嗅探等。
7.15 版本之后的重大变更
7.15版本的 Java API Client 是一个 Beta 版本。我们从用户反馈中吸收了很多经验,最终我们在该版本做出了一些重大的变更:
-
包含顶级 Elasticsearch API 的
_core
包已经重命名为core
。 -
list 和 map 属性的 setter 方法重新可用了。
-
现在所有 API 的数据类型都支持了,而不再是原来的
JsonValue
属性。 -
支持的 JSON 框架以及传输类都已经被重构和改进。但是调用高级 API 的方式并没有改变,所以对现有的应用程序应该没有影响。
这个版本的 Java API Client 实现了除了 Vector tile search API 以及 Find structure API 这两个 API 之外的所有 Elasticsearch API。
虽然这个版本我们认为已经很稳定了,但是其中的大多数代码都是根据 Elasticsearch API 规范说明书 自动生成的,其中一些不太常用的 Elasticsearch API 仍然需要进行完整详细的测试。 当然这篇说明书中可能影响到应用的代码,在发生变更后,都会在后续的 Java API client 版本中被明确地标识出来。
兼容性
main
分支的目标是下一个主要版本(8.0),7.x
分支的目标是 7.x
系列的下一个次要版本。
Elasticsearch Java 客户端是向前兼容的;也就是说它支持与次要版本更高或相等的 Elasticsearch 进行通信。 Elasticsearch 语言的的客户端则仅仅向后兼容默认发行版,且不提供任何保证。