如何进行日期范围聚合并显示与相关日期存储桶匹配的所有文档而不是doc_count
。
聚合:
{
"aggs" : {
"articles_over_time" : {
"date_histogram" : {
"field" : "date",
"interval" : "1M",
"format" : "yyyy-MM-dd"
}
}
}
}
响应:
{
"aggregations": {
"articles_over_time": {
"buckets": [
{
"key_as_string": "2013-02-02",
"key": 1328140800000,
"doc_count": 1
},
{
"key_as_string": "2013-03-02",
"key": 1330646400000,
"doc_count": 2 //how display whole json ??
[ .. Here i want to display
all document with array based
NOT only doc_count:2.......... ]
},
...
]
}
}
}
也许我需要做一些子聚合或其他什么?
有什么想法吗?
答案 0 :(得分:2)
您必须在top_hits
聚合上执行date-histogram
子聚合。所有选项均可从here中读取。
您的最终聚合将如下所示
{
"aggs": {
"articles_over_time": {
"date_histogram": {
"field": "date",
"interval": "1M",
"format": "yyyy-MM-dd"
},
"aggs": {
"documents": {
"top_hits": {
"size": 10
}
}
}
}
}
}
答案 1 :(得分:0)
与Sumit所说的一样,我认为你真正想要的是创建一个具有日期范围的过滤器:
这样您就可以过滤掉不在日期范围内的文档,只保留正确的文档。你可以用结果做你想做的一切。