对于最新的稳定版本,请使用 Spring Data Elasticsearch 6.0.4spring-doc.cadn.net.cn

从 5.1.x 升级到 5.2.x

本节描述了从 5.1.x 版本到 5.2.x 版本的破坏性变更,以及如何用新引入的功能替代已移除的功能。spring-doc.cadn.net.cn

重大变更

批量失败

org.springframework.data.elasticsearch.BulkFailureException 类中,getFailedDocuments 的返回类型已从 Map<String, String> 更改为 Map<String, FailureDetails>,从而可以获取有关失败原因的更多详细信息。spring-doc.cadn.net.cn

FailureDetails 类的定义(位于 BulkFailureException 内部):spring-doc.cadn.net.cn

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

脚本字段和运行时字段

org.springframework.data.elasticsearch.core.RuntimeFieldorg.springframework.data.elasticsearch.core.query.ScriptType 已移至子包 org.springframework.data.elasticsearch.core.queryspring-doc.cadn.net.cn

type 构造函数的 ScriptData 参数不再可为空。spring-doc.cadn.net.cn

弃用

移除已弃用的代码

  • 所有使用已弃用的旧 RestHighLevelClient 的代码均已移除。 自 5.0 版本以来,默认使用的 Elasticsearch 客户端是(并非全新的)Elasticsearch Java 客户端。spring-doc.cadn.net.cn

  • org.springframework.data.elasticsearch.client.ClientLogger 类已被移除。 此日志记录器已使用 org.springframework.data.elasticsearch.client.WIRE 设置进行配置,但无法与所有客户端正常工作。 从版本 5 开始,请使用 Elasticsearch Java 客户端中提供的 trace 日志记录器,请参阅 客户端日志记录spring-doc.cadn.net.cn

  • 方法 org.springframework.data.elasticsearch.core.ElasticsearchOperations.stringIdRepresentation(Object) 已被移除,请改用同一接口中定义的 convertId(Object) 方法。spring-doc.cadn.net.cn

  • org.springframework.data.elasticsearch.core.Range 已被移除,请改用 org.springframework.data.domain.Rangespring-doc.cadn.net.cn

  • 方法 org.springframework.data.elasticsearch.core.query.IndexQuery.getParentId() and `setParentId(String) 已被移除,它们不再被使用且为空操作。 它也已从 org.springframework.data.elasticsearch.core.query.IndexQuery 类中移除。spring-doc.cadn.net.cn