假设我有一个单个 elasticsearch条目,其中包含两个日期字段 - t0和t1。 让我们说那些t0和t1是“2017-10-18T09:00:00”和“2017-10-18T12:00:00” - 就像在同一天,不同时间(为了简单起见)
我想执行一个聚合查询,它会在每小时给我一个桶命中 - 例如,每小时范围是09:00-12:00,我想得到3个桶 - 每小时一个桶在该范围内,每个都有一个命中 - 例如: 如果在09:00-12:00之间讨论相同的范围,那么我希望在下面的桶中计算相同的条目: 09:00-10:00 10:00-11:00 11:00-12:00
这甚至可能吗?
提前致谢!
答案 0 :(得分:0)
我插入了4个日期为:: 9:00,10:00,11:00,11:30
的文件{
"size": 0,
"aggs" : {
"buckets" : {
"date_histogram" : {
"field" : "date",
"interval" : "1h",
"format" : "HH:mm"
}
}
}
}
这将返回如下结果。
"aggregations": {
"buckets": {
"buckets": [
{
"key_as_string": "09:00",
"key": 1508317200000,
"doc_count": 1
},
{
"key_as_string": "10:00",
"key": 1508320800000,
"doc_count": 1
},
{
"key_as_string": "11:00",
"key": 1508324400000,
"doc_count": 2
}
]
}
}
我想这是你想要的。