繁体   English   中英

弹性搜索中的Date_Histogram

[英]Date_Histogram in elastic search

今天我有一个任务,我必须汇总1小时间隔的数据。 所以我在弹性搜索中使用了Date_Histogram聚合。 以下是查询:

GET test-2017.02.01/_search
{
  "size" : 0,

  "aggs": {
    "range_aggs": {
      "date_histogram": {
        "field": "@timestamp",
        "interval": "hour",
        "format": "yyyy-MM-dd HH:mm"
      }
    }
  }

}

我得到了以下结果:

    "aggregations": {
    "range_aggs": {
      "buckets": [
        {
          "key_as_string": "2017-02-01 12:00",
          "key": 1485950400000,
          "doc_count": 4027
        },
        {
          "key_as_string": "2017-02-01 13:00",
          "key": 1485954000000,
          "doc_count": 0
        }
      ]
    }
  }

由于我已经运行了一天这个查询,所以每个都很好,但是当我在这种情况下运行查询多天时,我每天都会得到密钥。 我的问题是 - 如何获取所有日子的小时间隔(上午9点到上午10点,上午10点到上午11点,等等)的数据?

    {
  "aggs": {
    "range_aggs": {
      "date_histogram": {
        "field": "@timestamp",
        "interval": "day",
        "min_doc_count": 1
      },
      "aggs": {
        "range_aggs": {
          "date_histogram": {
            "field": "@timestamp",
            "interval": "hour"
          }
        }
      }
    }
  }
}

如果您需要按小时分组的响应,请在不同日期尝试此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM