我们使用 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()方法,如何在这些升级版本中实现上述方法。
我认为你错了,因为在库中
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))));