我正在使用created
字段存储用户(索引为日期),我想检索与某个日期相关的计数,并按上个月的日期汇总。想象一下,每隔一天网站就会有新的注册 - 所以我想得到这样的东西:
date count
2017-02-01 10
2017-02-02 10
2017-02-03 11
2017-02-04 11
2017-02-05 12
2017-02-06 12
2017-02-07 13
2017-02-08 13
2017-02-09 14
2017-02-10 14
2017-02-11 15
...
有没有办法实现这个目标?
答案 0 :(得分:0)
请查看Date Histogram Aggregation,例如:
{
"aggs" : {
"registrations_over_time" : {
"date_histogram" : {
"field" : "created",
"interval" : "day"
}
}
}
}
答案 1 :(得分:0)
date_histogram
很有帮助,但只返回"新用户"每天。要获得特定日期的用户总数,我必须添加以下内容:
{
"aggs": {
"users": {
"date_histogram": {
"field": "created",
"interval": "day",
"format": "yyyy-MM-dd"
},
"aggs": {
"users_stats": {
"stats": {
"field": "id"
}
},
"cumulative_users": {
"cumulative_sum": {
"buckets_path": "users_stats.count"
}
}
}
}
}
}