|
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Data Elasticsearch 5.3.4! |
|
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Data Elasticsearch 5.3.4! |
本节介绍从版本 4.2.x 到 4.3.x 的重大更改,以及如何将已删除的功能替换为新的引入功能。
|
Elasticsearch 正在开发一个新的客户端,该客户端将取代 ,因为它使用来自 Elasticsearch 核心库的代码,这些库不再获得 Apache 2 许可。
Spring Data Elasticsearch 也在为这一变化做准备。
这意味着在内部需要更改接口的实现 - 如果用户针对 或 等接口进行编程,这应该没有问题。
如果你像直接使用实现类一样,则需要适应这些变化。 Spring Data Elasticsearch 还删除或替换了其 API 类和方法中包中的类的使用,仅在实现对 Elasticsearch 的访问的实现中使用它们。
对于用户来说,这意味着一些使用的枚举类被具有相同值的枚举所替换,这些枚举在内部映射到 Elasticsearch 上。 使用不易替换的类的地方,此用法被标记为已弃用,我们正在努力替换。 |
|
Elasticsearch 正在开发一个新的客户端,该客户端将取代 ,因为它使用来自 Elasticsearch 核心库的代码,这些库不再获得 Apache 2 许可。
Spring Data Elasticsearch 也在为这一变化做准备。
这意味着在内部需要更改接口的实现 - 如果用户针对 或 等接口进行编程,这应该没有问题。
如果你像直接使用实现类一样,则需要适应这些变化。 Spring Data Elasticsearch 还删除或替换了其 API 类和方法中包中的类的使用,仅在实现对 Elasticsearch 的访问的实现中使用它们。
对于用户来说,这意味着一些使用的枚举类被具有相同值的枚举所替换,这些枚举在内部映射到 Elasticsearch 上。 使用不易替换的类的地方,此用法被标记为已弃用,我们正在努力替换。 |
弃用
建议方法
在 中,以及 in 中,采用 a 作为参数并返回 a 的方法已被弃用。
请改用 a,传入 a,该 a 可以包含 a 并从返回的 .SearchOperationsElasticsearchOperationssuggestorg.elasticsearch.search.suggest.SuggestBuilderorg.elasticsearch.action.search.SearchResponseSearchHits<T> search(Query query, Class<T> clazz)NativeSearchQuerySuggestBuilderSearchHit<T>
在新方法中,返回 now.
在这里,旧方法也被弃用了。ReactiveSearchOperationssuggestMono<org.springframework.data.elasticsearch.core.suggest.response.Suggest>
重大更改
从 API 中删除类。org.elasticsearch
-
在注释中,property 已从 更改为 ,可用的枚举值相同。
org.springframework.data.elasticsearch.annotations.CompletionContexttype()org.elasticsearch.search.suggest.completion.context.ContextMapping.Typeorg.springframework.data.elasticsearch.annotations.CompletionContext.ContextMappingType -
在属性已更改为的注释中,可用的枚举值相同。
org.springframework.data.elasticsearch.annotations.DocumentversionType()org.springframework.data.elasticsearch.annotations.Document.VersionType -
在属性已更改为的接口中,可用的枚举值相同。
org.springframework.data.elasticsearch.core.query.QuerysearchType()org.springframework.data.elasticsearch.core.query.Query.SearchType -
在接口中,的返回值已更改为 。
org.springframework.data.elasticsearch.core.query.Querytimeout()java.time.Duration -
的 再。 相反,它现在包含类的实例,其中 是来自所使用的基础客户端的具体聚合类型。 目前,这将是一个对象;稍后将提供不同的实现。 对函数进行了相同的更改,现在返回一个 . 需要更改使用聚合的程序,以将返回的值强制转换为适当的类以进一步处理它。
SearchHits<T>`class does not contain the `org.elasticsearch.search.aggregations.Aggregationsorg.springframework.data.elasticsearch.core.AggregationsContainer<T>Torg .springframework.data.elasticsearch.core.clients.elasticsearch7.ElasticsearchAggregationsReactiveSearchOperations.aggregate()Flux<AggregationContainer<?>> -
可能引发 Now 的方法将改为引发。
org.elasticsearch.ElasticsearchStatusExceptionorg.springframework.data.elasticsearch.RestStatusException
处理 Query 的 field 和 sourceFilter 属性
直到版本 4.2,a 的属性被解释并添加到 .
这是不正确的,因为这些对于 Elasticsearch 来说是不同的事情。
此问题已得到纠正。
因此,依赖于 using 来指定应从文档的 .fieldsQuerysourceFilterfields_source' and should be changed to use the `sourceFilter
search_type默认值
Elasticsearch 中 的默认值为 。
现在,此值在实施中也设置为默认值,之前设置为 。search_typequery_then_fetchQuerydfs_query_then_fetch
BulkOptions 更改
该类的某些属性已更改其类型:org.springframework.data.elasticsearch.core.query.BulkOptions
-
属性的类型已更改为 。
timeoutjava.time.Duration -
“refreshPolicy”属性的类型已更改为 。
org.springframework.data.elasticsearch.core.RefreshPolicy
指数选项更改
Spring Data Elasticsearch 现在使用而不是 .org.springframework.data.elasticsearch.core.query.IndicesOptionsorg.elasticsearch.action.support.IndicesOptions