Upgrading from 4.0.x to 4.1.x

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

Deprecations

Definition of the id property

可以通过将其命名为 iddocument 将实体属性定义为 id 属性。此行为现已弃用并会产生警告。请使用 @Id 注释将属性标记为 id 属性。

Index mappings

ReactiveElasticsearchClient.Indices 接口中,updateMapping 方法已被弃用,取而代之的是 putMapping 方法。它们执行相同的功能,但 putMapping 与 Elasticsearch API 中的命名一致:

Alias handling

IndexOperations 接口中,addAlias(AliasQuery)removeAlias(AliasQuery)queryForAlias() 方法已弃用。新方法 alias(AliasAction)getAliases(String…​)getAliasesForIndex(String…​) 提供了更多功能和更简洁的 API。

Parent-ID

自版本 6 起,已从 Elasticsearch 中删除父 ID 的使用。我们现在弃用相应的字段和方法。

Removals

Type mappings

@Document 注释和 IndexCoordinates 对象的 类型映射 参数已删除。它们在 Spring Data Elasticsearch 4.0 中已被弃用,其值不再使用。

Breaking Changes

Return types of ReactiveElasticsearchClient.Indices methods

ReactiveElasticsearchClient.Indices 中的方法到目前为止尚未使用。随着 ReactiveIndexOperations 的引入,有必要更改一些返回类型:

  • createIndex 变体现在返回 Mono<Boolean> ,而不是 Mono<Void> ,以表示成功创建索引。

  • updateMapping 变体现在返回 Mono<Boolean> ,而不是 Mono<Void> ,以表示成功存储映射。

Return types of DocumentOperations.bulkIndex methods

这些方法返回一个包含新索引记录 ID 的 List<String>。现在它们返回一个 List<IndexedObjectInformation>;这些对象包含 ID 和有关乐观锁定的信息(seq_no 和 primary_term)