gpt4 book ai didi

java - 查找elasticsearch聚合计数

转载 作者:行者123 更新时间:2023-12-01 10:09:09 25 4
gpt4 key购买 nike

searchRequestBuilder.addAggregation(AggregationBuilders.terms("topCategoryFilter").field("category_id").size(AGGREGATION_SIZE)
.subAggregation(AggregationBuilders.terms("subCategoryFilter").field("sub_category_id").size(AGGREGATION_SIZE)));

上面是我完成的代码

我需要找出elasticsearch聚合计数。例如,我搜索了鞋子,并根据它生成了过滤器。在这些过滤器中,例如有“阿迪达斯”、“耐克”品牌过滤器。我想了解有多少种阿迪达斯或耐克的产品,并希望将这些结果与筛选器一起显示。那是 Filter 应该显示 Adidas(100) Nike(300)我正在使用 Elasticsearch 聚合生成过滤器。我也在使用Java API我该如何实现这一目标?

最佳答案

使用这个:

SearchResponse searchResponse = searchRequestBuilder.execute().actionGet()
StringTerms stringTerms = searchResponse?.getAggregations()?.getAsMap()?.get("topCategoryFilter")
List<StringTerms.Bucket> bucketList = stringTerms?.getBuckets()
for(StringTerms.Bucket bucket :bucketList){
String key = bucket.getKey()
Integer doc_count = (Integer)bucket.getDocCount()
}

希望这能有所帮助!!

关于java - 查找elasticsearch聚合计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36256982/

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