elasticsearch对某段时间范围内按时间间隔进行统计

{
  "query" : {
    "constant_score" : {
      "filter" : {
        "range" : {
          "@timestamp" : {
            "gte" : 1490112000000,//或者"gt": "now-2m", "lt": "now"
            "lte" : 1490113000000
          }
        }
      }
    }
  },
  "aggs" : {
    "by_time" : {
      "date_histogram" : {
        "field" : "@timestamp",
        "interval" : "5s"
      }
    }
  }
}

或者写成类似如下格式

{
   "size" : 0,
   "query":{
      "match": {
         "make": "ford"
      }
   },
   "aggs":{
      "recent_sales": {
         "filter": { 
            "range": {
               "sold": {
                  "from": "now-1M"
               }
            }
         },
         "aggs": {
            "average_price":{
               "avg": {
                  "field": "price" 
               }
            }
         }
      }
   }
}

 

按给定时间范围,2个字段联合aggs查询

{
  "size" : 0,
  "query" : {
    "constant_score" : {
      "filter" : {
        "range" : {
          "@timestamp" : {
            "gte" : 1490175000000,
            "lte" : 1490185000000
          }
        }
      }
    }
  },
  "aggs" : {
    "group_by_state" : {
      "terms" : {
        "field" : "client_id.keyword"
      },
      "aggs" : {
        "group_by_code" : {
          "terms" : {
            "field" : "message_json.code"
          }
        }
      }
    }
  }
}

 

总结:聚合API的调用格式

"aggregations" : {                  // 表示聚合操作,可以使用aggs替代
    "<aggregation_name>" : {        // 聚合名,可以是任意的字符串。用做响应的key,便于快速取得正确的响应数据。
        "<aggregation_type>" : {    // 聚合类别,就是各种类型的聚合,如min等
            <aggregation_body>      // 聚合体,不同的聚合有不同的body
        }
        [,"aggregations" : { [<sub_aggregation>]+ } ]? // 嵌套的子聚合,可以有0或多个
    }
    [,"<aggregation_name_2>" : { ... } ]* // 另外的聚合,可以有0或多个 也可以嵌套query和filter
}

 

相关博客文档:

Elasticsearch 统计代码例子

elk收集分析nginx access日志

Logstash+ElasticSearch处理mysql慢查询日志

8.ElasticSearch预警服务-Watcher详解-监控Marvel数据

Filter Bucket https://www.elastic.co/guide/en/elasticsearch/guide/master/_filter_bucket.html

posted @ 2017-03-22 00:40  duanxuan  阅读(33695)  评论(1编辑  收藏  举报