从 5.5.x 升级到 6.0.x
本节介绍从 5.5.x 版本到 6.0.x 版本的破坏性变更,以及如何用新引入的特性替代被移除的特性。
破坏性变更
自 6.0 版本起,Spring Data Elasticsearch 使用 Elasticsearch 9 库,并默认使用这些库提供的新 Rest5Client。仍然可以使用旧的 RestClient,相关信息请参阅Elasticsearch 客户端。该 RestClient 的配置回调已从 org.springframework.data.elasticsearch.client.elc.ElasticsearchClients 移至 org.springframework.data.elasticsearch.client.elc.rest_client.RestClients 类。
在 org.springframework.data.elasticsearch.core.query.UpdateQuery 类中,ifSeqNo 和 ifPrimaryTerm 这两个字段的类型已从 Integer 更改为 Long,以与普通查询及底层 Elasticsearch 客户端保持一致。
弃用项
所有使用旧 RestClient 的代码已移至 org.springframework.data.elasticsearch.client.elc.rest_client 包,并已弃用。用户应改用 org.springframework.data.elasticsearch.client.elc.rest5_client 包中的类。
移除项
org.springframework.data.elasticsearch.core.query.ScriptType 枚举已被移除。要区分内联脚本和存储脚本,请在 org.springframework.data.elasticsearch.core.query.ScriptData record 中设置相应的值。
以下方法已被移除,因为 Elasticsearch Client 9 不再支持它们:
org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchIndicesClient.unfreeze(UnfreezeRequest)
org.springframework.data.elasticsearch.client.elc.ReactiveElasticsearchIndicesClient.unfreeze(Function<UnfreezeRequest.Builder, ObjectBuilder<UnfreezeRequest>>)