从 4.0.x 升级到 4.1.x

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

弃用

id 属性的定义

可以通过将实体属性命名为 iddocument 来将其定义为 ID 属性。 此行为现已弃用,并将产生警告。 请使用 @Id 注解将属性标记为 ID 属性。spring-doc.cadn.net.cn

索引映射

ReactiveElasticsearchClient.Indices 接口中,updateMapping 方法已弃用,推荐使用 putMapping 方法。 它们功能相同,但 putMapping 与 Elasticsearch API 中的命名保持一致:spring-doc.cadn.net.cn

别名处理

IndexOperations 接口中,方法 addAlias(AliasQuery)removeAlias(AliasQuery)queryForAlias() 已被弃用。 新方法 alias(AliasAction)getAliases(String…​)getAliasesForIndex(String…​) 提供了更丰富的功能和更清晰的 API。spring-doc.cadn.net.cn

Parent-ID

自 6 版本起,Elasticsearch 已移除对 parent-id 的使用。我们现在弃用相应的字段和方法。spring-doc.cadn.net.cn

移除

类型映射

@Document 注解和 IndexCoordinates 对象的类型映射参数已被移除。 它们已在 Spring Data Elasticsearch 4.0 中被标记为弃用,且其值不再被使用。spring-doc.cadn.net.cn

重大变更

ReactiveElasticsearchClient.Indices 方法的返回类型

ReactiveElasticsearchClient.Indices 中的方法此前一直未被使用。 随着 ReactiveIndexOperations 的引入,有必要更改部分返回类型:spring-doc.cadn.net.cn

  • createIndex 变体现在返回 Mono<Boolean> 而不是 Mono<Void>,以表示索引创建成功。spring-doc.cadn.net.cn

  • updateMapping 变体现在返回 Mono<Boolean> 而不是 Mono<Void>,以表示映射存储成功。spring-doc.cadn.net.cn

DocumentOperations.bulkIndex 方法的返回类型

这些方法之前返回一个包含新索引记录 ID 的 List<String>。 现在它们返回一个 List<IndexedObjectInformation>;这些对象包含 ID 以及有关乐观锁的信息(seq_no 和 primary_term)。spring-doc.cadn.net.cn