gpt4 book ai didi

java - 使用 ElasticsearchTemplate 和聚合器获取聚合值

转载 作者:太空宇宙 更新时间:2023-11-04 10:20:10 27 4
gpt4 key购买 nike

我在提取聚合值时遇到问题。

配置是 spring 和 spring-boot-starter-data-elasticsearch。

文档用户在数据库中多次索引。

我想返回字段“commentsCnt”的总和

@Autowired
ElasticsearchTemplate elasticsearchTemplate;

SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withIndices("comment")
.withQuery(matchQuery("user", userName))
.addAggregation(AggregationBuilders.sum("sum_of_comments").field("commentsCnt"))
.build();

Aggregations aggregations = elasticsearchTemplate.query(searchQuery,
new ResultsExtractor<Aggregations>() {
@Override
public Aggregations extract(SearchResponse response) {
return response.getAggregations();
}
});

Aggregation ret = aggregations.get("sum_of_comments");

如何提取值?也许有更好的方法?

最佳答案

    for (Aggregation aggs : aggregations) {

Sum sum = (Sum) aggs;
double sumValue = sum.getValue();
System.out.println("sumValue=" + sumValue);
}

关于java - 使用 ElasticsearchTemplate 和聚合器获取聚合值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51265208/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com