elasticsearch聚合统计出现次数
来源:互联网 发布:视频后期剪辑软件 编辑:程序博客网 时间:2024/06/08 14:19
public void getResult() { String beanName = "ppcOnlineEs"; int size = 1000000; EsIndexClientBean esIndexClientBean = (EsIndexClientBean) context.getBean(beanName); TransportClient transportClient = esIndexClientBean.getTransportClient(); org.elasticsearch.index.query.RangeQueryBuilder rangeQueryBuilder = QueryBuilders.rangeQuery("createTime"); rangeQueryBuilder.includeUpper(true).includeLower(true).from("2017-06-06 00:00:00").to("2017-11-06 00:00:00"); SearchResponse sr = transportClient.prepareSearch("videonew").setTypes("videonew").setQuery(rangeQueryBuilder).setSize(0) .addAggregation( //按照displayName.displayName做聚合,聚合结果倒序排序 AggregationBuilders.terms("by_displayName").field("displayName.displayName").order(Terms.Order.count(false)).size(size)).execute().actionGet(); Map<String, Aggregation> aggregationMap = sr.getAggregations().getAsMap(); //获取聚合结果 Aggregation agg = aggregationMap.get("by_displayName"); String outfileName = "C:\\重复.txt"; try { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(outfileName)))); int count = 0; for (Terms.Bucket entry : ((StringTerms) agg).getBuckets()) { count++; String key = entry.getKeyAsString(); // bucket key long docCount = entry.getDocCount(); // Doc count if (docCount < 2) { break; } StringBuilder sb = new StringBuilder(); sb.append( key + "\t" + docCount); bw.write(sb.toString()); bw.newLine(); if(count%1000==0) { bw.flush(); } } bw.flush(); bw.close(); } catch (Exception e) { e.printStackTrace(); } }
阅读全文
0 0
- elasticsearch聚合统计出现次数
- 统计单词出现次数
- 统计整数出现次数
- 统计字符出现次数
- 元素出现次数统计
- 统计出现次数案例
- Excel统计出现次数
- excel统计出现次数
- 统计字符出现次数
- 字符串出现次数统计
- Elasticsearch--Aggregation详细总结(聚合统计)
- 统计出现字符的次数
- js统计字符出现次数
- 统计字符串出现的次数
- 字符串的出现次数统计
- 统计字符串出现的次数
- 电话号码出现的次数统计
- 统计字符串出现的次数
- Javascript学习笔记_异步模式
- android N0 屏蔽某个应用的通知
- Java
- AndroidStudio3.0中butterknife报错- butterknife-7.0.1.jar (com.jakewharton:butterknife:7.0.1) Alternat
- coco2dx Lua调用自定义的C++方法
- elasticsearch聚合统计出现次数
- JavaScript中原型对象的彻底理解
- angular指令间的交互
- VMware的快照的相关知识
- Android: NDK编程入门笔记
- hibernate事务解决问题
- HDOJ 1339 A Simple Task(水题)
- 从命令行输入5个整数,放入一整型数组,然后打印输出。要求: 如果输入数据不为整数,要捕获输入不匹配异常,显示“请输入整数”;如果输入数据多余5个,捕获数组越界异常,显示“请输入5个整数”。 无论是否发
- 开放源许可证