|
该版本仍在开发中,尚未被视为稳定。对于最新稳定版本,请使用Spring Data Elasticsearch 5.5.5! |
从4.2.x升级到4.3.x
本节介绍了从4.2.x版本到4.3.x的重大变更,以及如何用新引入的功能替代被移除的功能。
|
Elasticsearch 正在开发一个新的客户端,将取代 Spring Data Elasticsearch 还移除或替代了从 那些使用类且难以替换的地方,这种用法被标记为弃用,我们正在寻找替代类。 |
弃用
建议方法
在搜索作,如是弹性搜索作此外,建议方法org.elasticsearch.search.suggest.SuggestBuilder作为论证并返回org.elasticsearch.action.search.search.SearchResponse。已被弃用。
用SearchHits<T> 搜索(查询查询,类<T>clazz)而是通过了NativeSearchQuery其中可以包含一个建议建设者并阅读返回的建议结果SearchHit<T>.
在响应式搜索作新的建议方法返回Mono<org.springframework.data.elasticsearch.core.suggest.response.Suggest>现在。
这里同样弃用了旧方法。
变更
移除org.elasticsearch来自 API 的类。
-
在
org.springframework.data.elasticsearch.annotations.CompletionContext属性注释类型()已从变更org.elasticsearch.search.suggest.completion.context.ContextMapping.Type自org.springframework.data.elasticsearch.annotations.CompletionContext.ContextMappingType,可用的枚举值相同。 -
在
org.springframework.data.elasticsearch.annotations.Document注释versionType()属性变为org.springframework.data.elasticsearch.annotations.Document.VersionType,可用的枚举值相同。 -
在
org.springframework.data.elasticsearch.core.query.Query接口searchType()属性变为org.springframework.data.elasticsearch.core.query.Query.SearchType,可用的枚举值相同。 -
在
org.springframework.data.elasticsearch.core.query.Query接口 返回值暂停()改为java.time.Duration. -
这
SearchHits<T>'类不包含'org.elasticsearch.search.aggregations.Aggregations了。 取而代之的是org.springframework.data.elasticsearch.core.AggregationsContainer<T>类 其中T是来自底层客户端的具体聚合类型。 目前这将是组织 .springframework.data.elasticsearch.core.clients.elasticsearch7.ElasticsearchAggregations对象;后续将有不同的实现版本。 同样的变化也发生在ReactiveSearchOperations.aggregate()函数,现在返回Flux<AggregationContainer<?>>. 使用聚合的程序需要修改,将返回值铸造到相应的类以进一步处理。 -
这些方法可能会抛出
org.elasticsearch.ElasticsearchStatusException现在要扔了org.springframework.data.elasticsearch.RestStatusException相反。
查询字段和 sourceFilter 属性的处理
直到4.2版本领域的属性查询被解释并加入了包含列表sourceFilter.
这并不正确,因为这两者对Elasticsearch来说是不同的。
此点已更正。
因此,依赖于领域指定应从文档返回哪些字段_source“,并应改为使用”sourceFilter”.
search_type默认值
该项的默认值search_type在Elasticsearch中为query_then_fetch.
现在这个数值也被设置为默认值查询实现,之前设置为dfs_query_then_fetch.
批量选项变更
以下的一些性质org.springframework.data.elasticsearch.core.query.BulkOptions类别已更改其类型:
-
该类型
超时财产已更改为java.time.Duration. -
'refreshPolicy'属性的类型已更改为
org.springframework.data.elasticsearch.core.RefreshPolicy.
指数期权变化
Spring Data Elasticsearch 现在使用org.springframework.data.elasticsearch.core.query.IndicesOptions而不是org.elasticsearch.action.support.IndicesOptions.