ES 聚合-先group 在sum
来源:互联网 发布:老九门百度云同步网络 编辑:程序博客网 时间:2024/05/20 04:49
实现一个SQL: SELECT sum(field) from table group by field2
使用:AggregationBuilders.sum("name").field("field");
public static void searchTest() throws IOException { TermsBuilder companyNameAgg = AggregationBuilders.terms("companyName").field("companyName").size(10); SumBuilder companyNameAggSum = AggregationBuilders.sum("companyNameSum").field("cvcount"); companyNameAgg.subAggregation(companyNameAggSum);//把sum聚合器放入到Term聚合器中,相当于先group by在sum SearchRequestBuilder searchBuilder = ElasticClientFactory.getClient().prepareSearch(indexname).setTypes(typeName).addAggregation(companyNameAgg); SearchResponse searchResponse = searchBuilder.execute().actionGet(); Terms terms = searchResponse.getAggregations().get("companyName"); List<Terms.Bucket> buckets = terms.getBuckets(); List<String> list = Lists.newArrayList(); for (Terms.Bucket bucket : buckets) { InternalSum internalSum = bucket.getAggregations().get("companyNameSum");//注意从bucket而不是searchResponse System.out.println(bucket.getKeyAsString() + "\t" + bucket.getDocCount() + "\t"+internalSum.getValue()); } System.out.println("done"); }
0 0
- ES 聚合-先group 在sum
- 在oracle的聚合函数(sum、avg等)中使用group by来分组你的结果
- es聚合
- es聚合
- oracle中的 group by、sum聚合函数注意事项
- 聚合函数和分组(sum(),count(),group by having)
- ES 数组 实现聚合
- es聚合查询
- mysql中group by子句和聚合函数MAX(),MIN(),SUM(),AVG()等的使用
- 聚合函数(sum、count、max、min、avg)、where、group by、having的组合用法实例
- arcigs js api 查询,使用group by 和sum 等聚合函数的使用
- elasticsearch系列-ES对多个字段聚合,select A,B,COUNT(*) from table group by A,B
- 聚合函数,group by
- 聚合函数,group by
- MongoDB 聚合Group(一)
- 在返回的实体list中进行sum聚合函数
- sql语句学习笔记(10)-group by(因为该列没有包含在聚合函数或 GROUP BY 子句中。聚合函数不能出现在where中)
- group后的聚合函数
- 国际油价下跌,页岩油来势凶猛
- C++实现智能指针的简单案例
- android复习-逐帧动画
- 利用RadioButton以及ViewPager实现仿小米联系人页面
- 对信号的几种解释
- ES 聚合-先group 在sum
- sqlachemy 初探
- Linux的文件与目录权限
- C++ 串的堆分配存储表示
- 泛型
- oracle 解锁语句
- Windows下搭建PHP开发环境
- 栈的顺序存储实现和链式存储实现
- JS实现web签名