我在包含字段samplingDate
和字段users
的索引上运行每周日期直方图聚合。这是我的问题:
{
"query": {
"range": {
"samplingDate": {
"gte": "2016-08-14",
"lte": "2016-09-12"
}
}
},
"aggs": {
"dateagg": {
"date_histogram": {
"field": "samplingDate",
"interval": "week"
},
"aggs": {
"totalusers": {
"max": {
"field": "users"
}
}
}
}
}
}
该桶返回一组结果,其中第一个日期是2016-08-08(超出范围,为什么?),后续日期相隔7天。我的问题是,elasticsearch如何确定在每周聚合中显示哪些日期,以及我必须做什么才能使存储桶中的最后一项具有上限的日期(在本例中为2016-09-12)。 Elasticsearch版本是2.3。
感谢。
答案 0 :(得分:1)
2016-08-14是一个星期日,date_histogram
桶聚合,week
间隔根据“周开始”(即星期一)计算边界,这就是为什么第一个桶是2016年-08-08。
但是,您可以在日期直方图存储桶中添加top_hits
子聚合,并且您将看到您只有2016-08-14之后的文档(即基于您的查询)。
答案 1 :(得分:0)
如果给定了周间隔,则直方图结果中的每个日期从“星期一”开始。