结果,最主要是聚合怎么取
//首先取最外层的聚合,拿到桶
List<TermsAggregation.Entry> nameAgg =
result.getAggregations().getTermsAggregation("nameAgg").getBuckets();
//循环每一个桶,拿到里面的聚合,再拿桶
for (TermsAggregation.Entry entry : nameAgg) {
List<TermsAggregation.Entry> jobAgg = entry.getTermsAggregation("jobAgg").getBuckets();
//循环每一个桶,拿到里面的聚合,再拿桶
for (TermsAggregation.Entry jobEntry : jobAgg) {
//取到每个分组里的平均年龄
long avgAge = jobEntry.getAvgAggregation("ageAgg").getAvg();
//其实这里已经能获取doc_count了,所以聚合计算总数那一步可以省略
long count = jobEntry.getCount();
........
//其他操作
........
}
..........
//其他操作
..........
}