此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Data Elasticsearch 5.4.0spring-doc.cn

从 4.1.x 升级到 4.2.x

本节介绍从版本 4.1.x 到 4.2.x 的重大更改,以及如何将已删除的功能替换为新的引入功能。spring-doc.cn

弃用

@Document参数

与索引设置相关的注释参数(、 、 和 )已移至注释中。仍然可以使用 in,但已弃用。@DocumentuseServerConfigurationshardsreplicasrefreshIntervallindexStoretype@Setting@Documentspring-doc.cn

清除

用于在实体中设置 score 返回值的注释在版本 4.0 中已弃用,并已被删除。 分数值在封装返回的实体的实例中返回。@ScoreSearchHitspring-doc.cn

该类已被删除。 其余用法已替换为 和 。org.springframework.data.elasticsearch.ElasticsearchExceptionorg.springframework.data.mapping.MappingExceptionorg.springframework.dao.InvalidDataAccessApiUsageExceptionspring-doc.cn

已弃用的 和 implementations 已被删除。ScoredPageScrolledPage@AggregatedPagespring-doc.cn

已弃用 和 已删除。GetQueryDeleteQueryspring-doc.cn

已弃用的方法 from 和 已被删除。findReactiveSearchOperationsReactiveDocumentOperationsspring-doc.cn

重大更改

刷新策略

Enum 包已更改

在 4.1 中,可以通过覆盖自定义配置类中的方法来配置刷新策略。 此方法的返回值是类的实例。ReactiveElasticsearchTemplateAbstractReactiveElasticsearchConfiguration.refreshPolicy()org.elasticsearch.action.support.WriteRequest.RefreshPolicyspring-doc.cn

现在,配置必须返回 。 这个枚举具有与以前相同的值并触发相同的行为,因此只需调整语句。org.springframework.data.elasticsearch.core.RefreshPolicyimportspring-doc.cn

刷新行为

ElasticsearchOperations现在,如果不是 null,则显式使用模板上的 set 进行写入请求。 如果刷新策略为 null,则不会执行任何特殊操作,因此使用集群默认值。 在此版本之前始终使用 cluster default。ReactiveElasticsearchOperationsRefreshPolicyElasticsearchOperationsspring-doc.cn

提供的实现 for 和 将在刷新策略为 null 时执行显式刷新。 这与以前版本中的行为相同。 如果设置了刷新策略,则存储库也将使用该策略。ElasticsearchRepositoryReactiveElasticsearchRepositoryspring-doc.cn

刷新配置

按照 Elasticsearch 客户端中所述配置 Spring Data Elasticsearch 时,使用 或 刷新策略将初始化为 。 以前,响应式代码将其初始化为 ,现在响应式和非响应式代码显示相同的行为。ElasticsearchConfigurationSupportAbstractElasticsearchConfigurationAbstractReactiveElasticsearchConfigurationnullIMMEDIATEspring-doc.cn

方法返回类型

delete 采用 Query 的方法

响应式方法之前返回 a 与已删除文档的数量,非响应式版本是 void。现在,它们返回 a,其中包含有关已删除文档和可能发生的错误的更详细信息。Mono<Long>Mono<ByQueryResponse>spring-doc.cn

MultiGet 方法

multiget previousl 的实现仅返回 a (非反应式实现)和 a (反应式实现)中找到的实体。如果请求包含未找到的 ID,则这些 ID 缺失的信息不可用。用户需要将返回的 ID 与请求的 ID 进行比较以查找 哪些缺失了。List<T>Flux<T>spring-doc.cn

现在,这些方法为每个请求的 id 返回一个。这包含有关失败的信息(如不存在的索引)以及项目是否存在(则它包含在 'MultiGetItem 中)的信息。multigetMultiGetItemspring-doc.cn