版本亮点

编辑

以下是次要版本中的重要新功能和更改。每个版本还会将 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

编辑
  • 添加 ES|QL 助手 - #763
  • 添加一个示例 SpringBoot 应用程序 - #737

版本 8.12

编辑
  • 无新功能。

版本 8.11

编辑
  • 无新功能。

版本 8.10

编辑
  • 添加检测 API 和原生 OpenTelemetry 实现 - #588文档

版本 8.9

编辑
  • 重构 RestClientTransport 以允许使用其他 http 客户端库 - #584

版本 8.8

编辑
  • 当无法解析错误响应时抛出 TransportException - #579
  • 加快 URL 路径编码并移除对 httpclient 的依赖 - #576
  • 为 Jackson 添加缓冲前瞻和 JsonData 实现 - #489#567
  • 公开其他 BulkIngester 指标 - #513
  • 允许将未解析的二进制数据用于摄取 - #508

版本 8.7

编辑
  • 添加 BulkIngester 助手 - #474#513文档
  • 允许将未解析的二进制数据用于摄取 - #508文档
  • 添加便捷方法 BooleanQuery.hasClauses() - #525

版本 8.6

编辑
  • 允许使用 java.lang.reflect.Type 以及 java.lang.Class 来定义用于反序列化的应用程序类型 - #438
  • 为 Jackson 添加缓冲前瞻以加快联合反序列化 - #489
  • 缓存 JsonProvider.provider() 的结果 - #485

版本 8.5

编辑

版本 8.4

编辑

版本 8.3

编辑
  • 为所有值类添加 toString() 实现 - #269

版本 8.2

编辑

版本 8.1

编辑

版本 8.0

编辑
  • 将 JSON-P 实现从 Glassfish 更改为 Parsson - #63
  • 接受列表中的 null 值 - #68