ES按时间聚合、嵌套聚合

// POST index name/document name/_search格式
POST xxx-*/doc/_search
{
   "query": {
            "bool": {
                "must": [{
                    "range": {
                       // 指明需要聚合的时间范围,从1582537515000到1585043115000
                        "@timestamp": {
                            "gte": 1582537515000,
                            "lte": 1585043115000
                        }
                    }
                }]
            }
        },
  "aggs": {
    "group_by_date": {
      "date_histogram": {
      // 分组关键字
        "field": "@timestamp",
        // 按天分组,还可以按年、月、日、时、分、秒分组
        "interval": "day",
        // 东八区
        "time_zone":"+08:00",
        // 时间的格式化
        "format": "yyyy-MM-dd"
      },
      // 根据需要,做一个去重操作,也可以不做
      "aggs": {
        "agg_token": {
          "cardinality": {
          // 去重的关键字
            "field": "token.keyword"
          }
        }
      }
    }
  }
}

用到了ES的基本查询语法、聚合语法、嵌套聚合.

你可能感兴趣的:(Elasticsearch)