【发布时间】:2020-03-22 21:23:05
【问题描述】:
我有以下查询来使用 Elasticsearch 7.1 获取聚合。
{
"query": {
"bool": {
"filter": [
{
"bool": {
"must": [
{
"match": {
"viewedInFeed": true
}
}
]
}
}
]
}
},
"size": 0,
"aggs": {
"viewed_in_feed_by_day": {
"date_histogram": {
"field": "createdDate",
"interval" : "day",
"format" : "yyyy-MM-dd",
"min_doc_count": 1
}
}
}
}
结果大于 10,000,我不确定如何工作,因为 scroll 不可用于聚合。请参阅下面的回复。
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 10000,
"relation": "gte"
},
"max_score": null,
"hits": []
},
"aggregations": {
"viewed_in_feed_by_day": {
"buckets": [
{
"key_as_string": "2020-03-19",
"key": 1584576000000,
"doc_count": 3028
},
{
"key_as_string": "2020-03-20",
"key": 1584662400000,
"doc_count": 5384
},
{
"key_as_string": "2020-03-21",
"key": 1584748800000,
"doc_count": 3521
}
]
}
}
}
当使用 _count 时,文档数大于 10,000,即使没有 "min_doc_count": 1 也不返回结果,我知道无论如何还有更多数据。
【问题讨论】:
-
"date_histogram" 按给定间隔对数据进行分组。如果您查看文档计数,则结果中的存储桶 {"key_as_string": "2020-03-19", "key": 1584576000000, "doc_count": 3028 } 显示 3028 个文档的日期为 "2020-03- 19" 那么返回的文件是否有可能只有 3 个日期
-
好的!我没有注意到文件的数量实际上总和大于 10,000。有点混乱。所以,我实际上可以忽略“命中”值。
-
命中关系是gte。所以命中大于 10000。要获得实际计数,您可以使用 value_count 聚合。我没有感到困惑,你有你的评论
标签: elasticsearch elasticsearch-aggregation elasticsearch-query