從 4.1.x 升級到 4.2.x
本節描述從 4.1.x 版本到 4.2.x 版本的重大變更,以及如何使用新導入的功能取代已移除的功能。
移除
@Score
註解在 4.0 版本中已棄用,並已移除,該註解用於在實體中設定分數傳回值。分數值會在封裝傳回實體的 SearchHit
實例中傳回。
已移除 org.springframework.data.elasticsearch.ElasticsearchException
類別。剩餘的用法已替換為 org.springframework.data.mapping.MappingException
和 org.springframework.dao.InvalidDataAccessApiUsageException
。
已移除已棄用的 ScoredPage
、ScrolledPage
@AggregatedPage
和實作。
已移除已棄用的 GetQuery
和 DeleteQuery
。
已移除 ReactiveSearchOperations
和 ReactiveDocumentOperations
中已棄用的 find
方法。
重大變更
RefreshPolicy
Enum 套件已變更
在 4.1 版本中,可以透過在自訂配置類別中覆寫 AbstractReactiveElasticsearchConfiguration.refreshPolicy()
方法來配置 ReactiveElasticsearchTemplate
的重新整理策略。此方法的傳回值是 org.elasticsearch.action.support.WriteRequest.RefreshPolicy
類別的實例。
現在配置必須傳回 org.springframework.data.elasticsearch.core.RefreshPolicy
。此列舉具有相同的值,並觸發與之前相同的行為,因此只需要調整 import
語句。
重新整理行為
ElasticsearchOperations
和 ReactiveElasticsearchOperations
現在明確地使用範本上設定的 RefreshPolicy
來處理寫入請求 (如果未設定為 null)。如果重新整理策略為 null,則不會執行任何特殊操作,因此會使用叢集預設值。ElasticsearchOperations
在此版本之前始終使用叢集預設值。
針對 ElasticsearchRepository
和 ReactiveElasticsearchRepository
提供的實作將在重新整理策略為 null 時執行明確的重新整理。這與先前版本中的行為相同。如果設定了重新整理策略,則儲存庫也將使用該策略。
重新整理配置
當像 Elasticsearch 用戶端 中描述的那樣,透過使用 ElasticsearchConfigurationSupport
、AbstractElasticsearchConfiguration
或 AbstractReactiveElasticsearchConfiguration
配置 Spring Data Elasticsearch 時,重新整理策略將初始化為 null
。先前反應式程式碼將其初始化為 IMMEDIATE
,現在反應式和非反應式程式碼顯示相同的行為。