從 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
列舉包已變更
在 4.1 版本中,可以透過在自定義配置類中覆蓋 AbstractReactiveElasticsearchConfiguration.refreshPolicy()
方法來配置 ReactiveElasticsearchTemplate
的重新整理策略。此方法的返回值是 org.elasticsearch.action.support.WriteRequest.RefreshPolicy
類的一個例項。
現在配置必須返回 org.springframework.data.elasticsearch.core.RefreshPolicy
。此列舉具有與之前相同的值並觸發相同的行為,因此只需調整 import
語句即可。
重新整理行為
ElasticsearchOperations
和 ReactiveElasticsearchOperations
現在顯式地使用在模板上設定的 RefreshPolicy
(如果非空)來處理寫請求。如果重新整理策略為 null,則不做任何特殊處理,從而使用叢集預設設定。在此版本之前,ElasticsearchOperations
總是使用叢集預設設定。
當重新整理策略為 null 時,為 ElasticsearchRepository
和 ReactiveElasticsearchRepository
提供的實現將執行顯式重新整理。這與之前版本的行為相同。如果設定了重新整理策略,則儲存庫也將使用該策略。
重新整理配置
當使用 ElasticsearchConfigurationSupport
、AbstractElasticsearchConfiguration
或 AbstractReactiveElasticsearchConfiguration
配置 Spring Data Elasticsearch(如 Elasticsearch 客戶端中所述)時,重新整理策略將初始化為 null
。以前,響應式程式碼將其初始化為 IMMEDIATE
,現在響應式和非響應式程式碼表現出相同的行為。