我的Web应用程序从elasticsearch响应中呈现可视化。对于其中一种情况,我希望获得每周平均的事件数。但我不想为日常活动而忙碌。
我尝试使用date_histogram对每周和每天的数据进行分组,然后使用avg_bucket来获取每周的每日平均值。但是现在,响应也包含了日常事件的存储桶。
{
"aggs": {
"_weekly": {
"date_histogram": {
"field": "@timestamp",
"calendar_interval": "1w"
},
"aggs": {
"_daily": {
"date_histogram": {
"field": "@timestamp",
"calendar_interval": "1d"
}
},
"daily_avg": {
"avg_bucket": {
"buckets_path": "_daily>_count",
"gap_policy": "insert_zeros"
}
}
}
}
}
}
我收到一个星期的回复是
{
"aggregations": {
"_weekly": {
"buckets": [
{
"key_as_string": "2018-08-27T00:00:00.000Z",
"key": 1535328000000,
"doc_count": 5046,
"_daily": {
"buckets": [
{
"key_as_string": "2018-08-27T00:00:00.000Z",
"key": 1535328000000,
"doc_count": 1677
},
{
"key_as_string": "2018-08-28T00:00:00.000Z",
"key": 1535414400000,
"doc_count": 2139
},
{
"key_as_string": "2018-08-29T00:00:00.000Z",
"key": 1535500800000,
"doc_count": 1203
},
{
"key_as_string": "2018-08-30T00:00:00.000Z",
"key": 1535587200000,
"doc_count": 13
},
{
"key_as_string": "2018-08-31T00:00:00.000Z",
"key": 1535673600000,
"doc_count": 2
},
{
"key_as_string": "2018-09-01T00:00:00.000Z",
"key": 1535760000000,
"doc_count": 11
},
{
"key_as_string": "2018-09-02T00:00:00.000Z",
"key": 1535846400000,
"doc_count": 1
}
]
},
"daily_avg": {
"value": 720.8571428571429
}
},
....
]
}
}
}
可以看出,尽管我每周都有每天的平均值,但我也有每天的水桶。 我只想得到每个星期都有水桶的响应以及daily_average 请提出如何避免在响应中出现“ _daily”存储桶的问题。也欢迎使用其他方法来获得解决方案