從 4.0.x 升級到 4.1.x

本節描述從 4.0.x 版到 4.1.x 版的重大變更,以及如何用新引入的功能取代已移除的功能。

棄用

id 屬性的定義

可以將實體的屬性命名為 iddocument 來定義為 id 屬性。此行為現在已被棄用,並會產生警告。請使用 @Id 註解將屬性標記為 id 屬性。

索引映射

ReactiveElasticsearchClient.Indices 介面中,updateMapping 方法已被棄用,建議使用 putMapping 方法。它們的功能相同,但 putMapping 與 Elasticsearch API 中的命名一致

別名處理

IndexOperations 介面中,方法 addAlias(AliasQuery)removeAlias(AliasQuery)queryForAlias() 已被棄用。新的方法 alias(AliasAction)getAliases(String…​)getAliasesForIndex(String…​) 提供更多功能和更清晰的 API。

父 ID

自 Elasticsearch 6 版起,已從 Elasticsearch 中移除父 ID 的使用。我們現在棄用對應的欄位和方法。

移除

類型映射

已移除 @Document 註解和 IndexCoordinates 物件的類型映射參數。它們已在 Spring Data Elasticsearch 4.0 中被棄用,且其值不再使用。

重大變更

ReactiveElasticsearchClient.Indices 方法的傳回類型

ReactiveElasticsearchClient.Indices 中的方法到目前為止尚未使用。隨著 ReactiveIndexOperations 的引入,有必要變更部分傳回類型

  • createIndex 變體現在傳回 Mono<Boolean> 而不是 Mono<Void>,以表示索引建立成功。

  • updateMapping 變體現在傳回 Mono<Boolean> 而不是 Mono<Void>,以表示映射儲存成功。

DocumentOperations.bulkIndex 方法的傳回類型

這些方法原本傳回包含新索引記錄 id 的 List<String>。現在它們傳回 List<IndexedObjectInformation>;這些物件包含 id 和關於樂觀鎖定的資訊 (seq_no 和 primary_term)