跳到主要内容

从 5.1.x 升级到 5.2.x

DeepSeek V3 中英对照 Upgrading from 5.1.x to 5.2.x

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

重大变更

批量失败

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

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

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

脚本和运行时字段

org.springframework.data.elasticsearch.core.RuntimeFieldorg.springframework.data.elasticsearch.core.query.ScriptType 已被移动到子包 org.springframework.data.elasticsearch.core.query 中。

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

弃用功能

移除已弃用的代码

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

  • org.springframework.data.elasticsearch.client.ClientLogger 类已被移除。该日志记录器是通过 org.springframework.data.elasticsearch.client.WIRE 设置进行配置的,但并未与所有客户端兼容。从 5.0 版本开始,请使用 Elasticsearch Java 客户端中提供的跟踪日志记录器,详见 客户端日志记录

  • 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()setParentId(String) 方法已被移除,它们不再被使用且为无操作。该方法也已从 org.springframework.data.elasticsearch.core.query.IndexQuery 类中移除。