版本亮点
编辑版本亮点
编辑以下是次要版本中的重要新功能和更改。每个版本还会将 Java API 客户端更新到最新的 API 规范。这包括新 API 以及现有 API 规范中的错误修复。
有关详细更改(包括错误修复)的列表,请参阅 GitHub 项目发行说明。
版本 8.17
编辑- 无新功能。
版本 8.16
编辑-
ElasticsearchClient
现在是Closeable
。关闭客户端对象也会关闭底层传输 - #851 -
添加了在反序列化错误时使响应正文可用的选项 - #886。
- 虽然一直可以将日志级别设置为
trace
并让客户端打印请求和响应的 json 正文,但这通常不是最佳解决方案,因为打印的信息量很大。 -
要启用该功能
RestClientOptions options = new RestClientOptions(RequestOptions.DEFAULT, true); ElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper(), options); ElasticsearchClient esClientWithOptions = new ElasticsearchClient(transport);
-
要从反序列化错误抛出的 TransportException 中检索原始正文
try{ // some code that returns faulty json } catch (TransportException ex){ try (RepeatableBodyResponse repeatableResponse = (RepeatableBodyResponse) ex.response()) { BinaryData body = repeatableResponse.body(); } }
- 虽然一直可以将日志级别设置为
版本 8.15
编辑- 新的 连接器 API 可用
- 修复了 BulkIngester 中的错误 - #830
- 各种错误修复,其中包括 #844、#847
-
更改了使用泛型类型的查询的构建器,例如
-
旧的 RangeQuery
RangeQuery ra = RangeQuery.of(r -> r // no distinction between various types (date, term, number) .field("day") .gte(JsonData.of("2024-06-20")) // must use custom json for fields because there's no defined type .lte(JsonData.of("2024-07-05")) .boost(1.0F) .format("yyyy-MM-dd") .relation(RangeRelation.Contains));
-
新的 RangeQuery
RangeQuery ra = RangeQuery.of(r -> r .date(d -> d // choose query type before .field("day") .gte("20-06-24") // field now only accepts valid type for the specified query .lte("20-07-24") .boost(1.0F) .format("yyyy-MM-dd") .relation(RangeRelation.Contains)));
-
版本 8.14
编辑- 无新功能。
版本 8.13
编辑版本 8.12
编辑- 无新功能。
版本 8.11
编辑- 无新功能。
版本 8.10
编辑版本 8.9
编辑- 重构 RestClientTransport 以允许使用其他 http 客户端库 - #584
版本 8.8
编辑版本 8.7
编辑版本 8.6
编辑版本 8.5
编辑版本 8.4
编辑- 添加关于
MissingRequiredPropertyException
的故障排除文档 - #301 - 允许序列化不带类型键的聚合。这在 Java 应用程序用作代理并将响应发送回其客户端的场景中很有用 - #316
版本 8.3
编辑- 为所有值类添加
toString()
实现 - #269
版本 8.2
编辑- 向所有构建器类添加
withJson()
方法 - #200 - 添加关于 jakarta-json 和 Spring 等构建系统的故障排除文档 - #215
- 通过在异常消息中添加位置和属性路径来改进 JSON 映射错误 - #237
版本 8.1
编辑- 添加关于 HLRC 与 Elasticsearch 8.x 的兼容模式的文档 - #230