Elasticsearch聚合
来源:互联网 发布:mac截图存在哪 编辑:程序博客网 时间:2024/06/06 02:53
一、按sum聚合的结果做排序
{ "query": { "match_all": {} }, "aggregations": { "leo": { "terms": { "script": "_source.time.split(' ')[0]+':'+_source.workflow", "order": { "leo2": "asc" } }, "aggregations": { "leo2": { "sum": { "field": "errcode" } } } } }}
二、按时间粒度做聚合
//DSL查询语句为:{ "query": { "match_all": {} }, "aggregations": { "agg": { "date_histogram": { "field": "time", "interval": "1h", "min_doc_count": 0, "format": "yyyy-MM-dd HH:mm:ss" }, "aggregations": { "max-userrate": { "max": { "field": "userrate" } }, "max-bandwidthrate": { "max": { "field": "bandwidthrate" } }, "max-spacerate": { "max": { "field": "spacerate" } } } } }}//二次聚合{ "size": 1, "query": { "match_all": {} }, "aggregations": { "agg": { "date_histogram": { "field": "logtime", "interval": "1d", "min_doc_count": 0, "format": "yyyyMMddHHmmss" }, "aggregations": { "agg1": { "date_histogram": { "field": "logtime", "interval": "5m", "min_doc_count": 0, "format": "yyyyMMddHHmmss" } } } } }}
Java API为
switch(particle) { case Constant.particle_10m: aggregation = AggregationBuilders.dateHistogram("agg") .field("time") .interval(DateHistogram.Interval.minutes(10)) .format("yyyy-MM-dd HH:mm:ss") .minDocCount(0); break; case Constant.particle_1h: aggregation = AggregationBuilders.dateHistogram("agg") .field("time") .interval(DateHistogram.Interval.HOUR) .format("yyyy-MM-dd HH:mm:ss") .minDocCount(0); break; case Constant.particle_1d: aggregation = AggregationBuilders.dateHistogram("agg") .field("time") .interval(DateHistogram.Interval.DAY) .format("yyyy-MM-dd HH:mm:ss") .minDocCount(0); break; case Constant.particle_1w: aggregation = AggregationBuilders.dateHistogram("agg") .field("time") .interval(DateHistogram.Interval.WEEK) .format("yyyy-MM-dd HH:mm:ss") .minDocCount(0); break; case Constant.particle_1M: aggregation = AggregationBuilders.dateHistogram("agg") .field("time") .interval(DateHistogram.Interval.MONTH) .format("yyyy-MM-dd HH:mm:ss") .minDocCount(0); break; case Constant.particle_1s: aggregation = AggregationBuilders.dateHistogram("agg") .field("time") .interval(DateHistogram.Interval.QUARTER) .format("yyyy-MM-dd HH:mm:ss") .minDocCount(0); break; default: }
三、按时间粒度做双重聚合后按sum排序
{ "size": 0, "query": { "match_all": {} }, "aggregations": { "agg1": { "date_histogram": { "field": "logtime", "interval": "1d", "min_doc_count": 0, "format": "yyyy-MM-dd HH:mm:ss" }, "aggregations": { "agg2": { "date_histogram": { "field": "logtime", "interval": "5m", "min_doc_count": 0, "format": "yyyy-MM-dd HH:mm:ss", "order":{ "leo2":"asc" } }, "aggregations": { "leo2": { "sum": { "field": "totalsum" } } } } } } }}
阅读全文
0 0
- Elasticsearch聚合
- Elasticsearch]聚合
- ElasticSearch聚合
- ElasticSearch聚合
- [Elasticsearch] 聚合的测试数据
- Elasticsearch分组聚合-查询
- ElasticSearch聚合aggs入门
- Elasticsearch笔记-聚合
- Elasticsearch分析聚合
- ElasticSearch聚合分析API
- Elasticsearch分析聚合
- Elasticsearch分析聚合
- elasticsearch 之Aggregation聚合
- elasticsearch多级聚合查询
- ElasticSearch 地理位置聚合
- Elasticsearch聚合查询
- Elasticsearch聚合 之 Range区间聚合
- Elasticsearch聚合 之 DateRange日期范围聚合
- [乐意黎]Apache重启后抛order takes one argument, 'allow,deny', 'deny,allow', or 'mutual-failure'
- 排序算法之快速排序
- 在aspx页面中将DataTable中的数据通过GridView导出到Excel中
- java中NIO对文件的读取操作
- Maven学习第二节---入门程序HelloWord
- Elasticsearch聚合
- react+webpack项目常用的插件(plugins)
- 史上最详细的webpack 讲解2 (DefinePlugin中的淫技巧)
- 算法竞赛入门经典(第2版)-刘汝佳-第三章解题源码(C语言)
- Activity之onActivityResult与setResult
- spring-MVC添加静态资源的映射
- 伪谱法如何编程实现?
- 二次上线之删除料号
- 各种网站地址