今天我有一项任务,我必须按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点,等等)?
答案 0 :(得分:0)
{
"aggs": {
"range_aggs": {
"date_histogram": {
"field": "@timestamp",
"interval": "day",
"min_doc_count": 1
},
"aggs": {
"range_aggs": {
"date_histogram": {
"field": "@timestamp",
"interval": "hour"
}
}
}
}
}
}
如果您需要按小时分组的响应,请在几天之内尝试该响应。