如何使用springboot 3.2.10和elasticsearch 8.12.1实现CompositeAggregationSource

问题描述 投票:0回答:1

我们使用 springboot 3.1.0 和 elastic search 8.10.4 实现了以下代码

CompositeAggregationSource compositeAggregationSource = CompositeAggregationSource
                .of(ca -> ca.terms(TermsAggregation.of(t -> t.field(Constants.name))));

现在我们已经将springboot升级到3.2.10,将elasticsearch升级到8.12.1,并且这些版本不支持上面代码中的ca.terms()方法,如何在这些升级版本中实现上述方法。

java spring-boot elasticsearch spring-data-elasticsearch spring-boot-3
1个回答
0
投票

我认为你错了,因为在库中

co.elastic.clients:elasticsearch-java
方法
CompositeAggregationSource.of()
应该接收类型的参数
Function<CompositeAggregationSource.Builder, ObjectBuilder<CompositeAggregationSource>>
均在版本 8.10.4 和版本 8.12.1 中。 因此,将代码中的
TermsAggregation.of()
替换为
CompositeTermsAggregation.of()

是有意义的

CompositeAggregationSource compositeAggregationSource = CompositeAggregationSource .of(ca -> ca.terms(CompositeTermsAggregation.of(t -> t.field(Constants.name))));

© www.soinside.com 2019 - 2024. All rights reserved.