本人新手,在百度上查了半天也没找到想要的答案,求大佬帮帮忙,不胜感激。
代码如下
{
"size": 0,
"query": {
"match_all": {}
},
"aggregations": {
"time_slice": {
"histogram": {
"field": "timestamp",
"interval": 86400,
"min_doc_count": 0,
"extended_bounds": {
"min": 1523901600,
"max": 1526839200
}
}
}
}
}
步长可以通过interval指定,但是起止时间没法控制。返回结果的第一个桶的时间戳是1523836800(2018/4/16 8:0:0,默认从8点?),早于extended_bounds指定的min。我知道extended_bounds是控制min_doc_count的范围的。想问一下有什么方法可以指定起止时间和步长来进行聚合吗?比如从2018/4/16 0:0:0到2018/5/16 0:0:0 时间间隔为24小时。
(我不想写循环用range来过滤进行统计,想先看看有没有聚合一次就能解决问题的方法)ES版本 2.3.15,用python2.7写后台查询ES
代码如下
{
"size": 0,
"query": {
"match_all": {}
},
"aggregations": {
"time_slice": {
"histogram": {
"field": "timestamp",
"interval": 86400,
"min_doc_count": 0,
"extended_bounds": {
"min": 1523901600,
"max": 1526839200
}
}
}
}
}
步长可以通过interval指定,但是起止时间没法控制。返回结果的第一个桶的时间戳是1523836800(2018/4/16 8:0:0,默认从8点?),早于extended_bounds指定的min。我知道extended_bounds是控制min_doc_count的范围的。想问一下有什么方法可以指定起止时间和步长来进行聚合吗?比如从2018/4/16 0:0:0到2018/5/16 0:0:0 时间间隔为24小时。
(我不想写循环用range来过滤进行统计,想先看看有没有聚合一次就能解决问题的方法)ES版本 2.3.15,用python2.7写后台查询ES
2 个回复
user_name
赞同来自:
rockybean - Elastic Certified Engineer, ElasticStack Fans,公众号:ElasticTalk
赞同来自: