最新的稳定版本请使用 Spring Data Elasticsearch 5.3.1Spring中文文档

最新的稳定版本请使用 Spring Data Elasticsearch 5.3.1Spring中文文档

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

弃用

@Document参数

与索引设置相关的注释参数(、 . 和 )已移至注释中。仍然可以在中使用,但已弃用。@DocumentuseServerConfigurationshardsreplicasrefreshIntervallindexStoretype@Setting@DocumentSpring中文文档

清除

用于在实体中设置分数返回值的批注已在 V4.0 中弃用,并且已被删除。 分数值在封装返回实体的实例中返回。@ScoreSearchHitSpring中文文档

该类已被删除。 其余用法已替换为 和 。org.springframework.data.elasticsearch.ElasticsearchExceptionorg.springframework.data.mapping.MappingExceptionorg.springframework.dao.InvalidDataAccessApiUsageExceptionSpring中文文档

已弃用的 和 实现已被删除。ScoredPageScrolledPage@AggregatedPageSpring中文文档

已弃用并已删除。GetQueryDeleteQuerySpring中文文档

已弃用的方法 和 已删除。findReactiveSearchOperationsReactiveDocumentOperationsSpring中文文档

重大变更

刷新策略

枚举包已更改

在 4.1 中,可以通过重写自定义配置类中的方法来配置刷新策略。 此方法的返回值是类 的实例。ReactiveElasticsearchTemplateAbstractReactiveElasticsearchConfiguration.refreshPolicy()org.elasticsearch.action.support.WriteRequest.RefreshPolicySpring中文文档

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

刷新行为

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

当刷新策略为 null 时,为 和 提供的实现将执行显式刷新。 这与以前的版本中的行为相同。 如果设置了刷新策略,则存储库也将使用它。ElasticsearchRepositoryReactiveElasticsearchRepositorySpring中文文档

刷新配置

配置Spring Data Elasticsearch时,如Elasticsearch Clients中所述,使用,或者刷新策略将初始化为。 以前,反应式代码将其初始化为 ,现在反应式和非反应式代码显示相同的行为。ElasticsearchConfigurationSupportAbstractElasticsearchConfigurationAbstractReactiveElasticsearchConfigurationnullIMMEDIATESpring中文文档

方法返回类型

删除接受查询的方法

反应式方法以前返回 a 与已删除的文档数,非反应式版本无效。它们现在返回一个,其中包含有关已删除文档和可能发生的错误的更详细信息。Mono<Long>Mono<ByQueryResponse>Spring中文文档

multiget 方法

multiget previousl 的实现只返回在非反应式实现和 a 中为反应式实现找到的实体。如果请求包含未找到的 ID,则缺少这些 ID 的信息不可用。用户需要将返回的 ID 与请求的 ID 进行比较才能找到 哪些不见了。List<T>Flux<T>Spring中文文档

现在,这些方法为每个请求的 ID 返回 a。这包含有关失败的信息(如不存在的索引)以及项目是否存在(则它包含在“MultiGetItem”中)的信息。multigetMultiGetItemSpring中文文档