博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
es java聚合方法——多字段分组并求和
阅读量:3937 次
发布时间:2019-05-23

本文共 1061 字,大约阅读时间需要 3 分钟。

/**     * 多字段分组并求和;实现sql:select user as userAgg, sex as sexAgg, sum(age) as sumAgg from twitter.tweet group by user, sex;     */    @Test    public void sumAfterTwiceAgg() {
SearchResponse response = client.prepareSearch("twitter").setTypes("tweet") .addAggregation(AggregationBuilders.terms("userAgg").field("user.keyword") .subAggregation(AggregationBuilders.terms("sexAgg").field("sex.keyword") .subAggregation(AggregationBuilders.sum("sumAgg").field("age")))) //求和要放到最内层的分组语句里面 .get(); Terms userAgg = response.getAggregations().get("userAgg"); for (Terms.Bucket entry : userAgg.getBuckets()) {
Terms sexAgg = entry.getAggregations().get("sexAgg"); for (Terms.Bucket entry2 : sexAgg.getBuckets()) {
Sum sum = entry2.getAggregations().get("sumAgg"); System.out.println("user:" + entry.getKey()+"-------sex:"+entry2.getKey() + "----------sum:" + sum.getValue()); } } }

转载地址:http://bkuwi.baihongyu.com/

你可能感兴趣的文章
vmware中虚拟机和主机ping不通的问题。
查看>>
从“冷却时间”谈产品设计
查看>>
sscanf的特别用法(类似正则表达式)
查看>>
打印非字符串数组函数
查看>>
makefile中的if判断
查看>>
常用shell脚本
查看>>
将16进制文本转换为ascii码的C语言代码
查看>>
长网站 转换为 短网址 的原理
查看>>
基于http协议的C语言客户端代码
查看>>
我常用的makefile之产生优秀的.depend文件
查看>>
VMware无法识别USB设备的解决方法 以及 从虚拟机中断开USB设备,使其重新连接到windows主机上
查看>>
linux下C代码、C++代码和命令行方式,完成字符集编码的转换
查看>>
makefile中将变量向下传递
查看>>
shell中if做比较
查看>>
写代码就像写作文
查看>>
常用shell特殊符号变量一览
查看>>
linux 下查看网卡工作速率
查看>>
如何做事
查看>>
网站性能提升20倍之经验谈
查看>>
vim 括号匹配和各种跳转技巧
查看>>