Upgrading from 5.1.x to 5.2.x

本节描述了从版本 5.1.x 到 5.2.x 的重大更改,以及如何通过新引入的功能替换已删除的功能。

Breaking Changes

Bulk failures

org.springframework.data.elasticsearch.BulkFailureException 类中,getFailedDocuments 的返回类型从 Map<String, String> 更改为 Map<String, FailureDetails>, 这允许获取有关失败原因的更多详细信息。

FailureDetails 类的定义(BulkFailureException 的内部类):

public record FailureDetails(Integer status, String errorMessage) {
}

scripted and runtime fields

org.springframework.data.elasticsearch.core.RuntimeFieldorg.springframework.data.elasticsearch.core.query.ScriptType 类已移至子包 org.springframework.data.elasticsearch.core.query

ScriptData 构造函数的 type 参数已不再为可空。

Deprecations

Removal of deprecated code

  • 使用旧版弃用的 RestHighLevelClient 的所有代码均已删除。自版本 5.0 以来使用的默认 Elasticsearch 客户端是(不太)新的 Elasticsearch Java 客户端。

  • org.springframework.data.elasticsearch.client.ClientLogger 类已被移除。此记录器使用 org.springframework.data.elasticsearch.client.WIRE 设置进行了配置,但并未在所有客户端使用。从版本 5 开始,请使用 Elasticsearch Java 客户端中可用的跟踪记录器,请参阅 Client Logging

  • org.springframework.data.elasticsearch.core.ElasticsearchOperations.stringIdRepresentation(Object) 方法已删除,请改为使用在同一接口中定义的 convertId(Object) 方法。

  • org.springframework.data.elasticsearch.core.Range 类已删除,请改为使用 org.springframework.data.domain.Range

  • org.springframework.data.elasticsearch.core.query.IndexQuery.getParentId() and `setParentId(String) 方法已删除,它们不再使用而且是无操作的。它也已从 org.springframework.data.elasticsearch.core.query.IndexQuery 类中删除。