gpt4 book ai didi

elasticsearch - 即使没有数据,在固定日期范围内(即固定数量的存储桶)的直方图

转载 作者:行者123 更新时间:2023-12-02 22:55:58 25 4
gpt4 key购买 nike

我的目标是在开始日期和结束日期之间建立直方图,空日期应显示在直方图中,并且计数值为零。

我正在尝试以下查询以获取最近7天:

POST my_index/_search
{
"size": 0,
"query": {
"range": {
"date": {
"gte": "now-7d/d",
"lte": "now/d"
}
}
},
"aggs" : {
"count_per_day" : {
"date_histogram" : {
"field" : "date",
"interval" : "day",
"order": {"_key": "desc"},
"min_doc_count": 0
}
}
}
}

问题是我只有最近3天的数据,因此3天之前没有任何数据。在这种情况下,结果仅包含最近3天,而前几天完全不返回。

但是,如果存在差距(即6天前有数据,而第5天和第4天没有数据),则空天将以零作为计数出现。

即使没有数据,我如何强制返回缺席日期?
换句话说,即使没有数据,如何确定存储桶的数量(在上面的示例中为7)?

最佳答案

您已经添加了"min_doc_count": 0以包含空存储桶。您需要做的只是简单地添加extended_bounds参数,以强制开始和结束存储桶。可以在here上找到更多信息。

如下更新查询:

{
"size": 0,
"query": {
"range": {
"date": {
"gte": "now-7d/d",
"lte": "now/d"
}
}
},
"aggs": {
"count_per_day": {
"date_histogram": {
"field": "date",
"interval": "day",
"order": {
"_key": "desc"
},
"min_doc_count": 0,
"extended_bounds": {
"min": "now-7d/d",
"max": "now/d"
}
}
}
}
}

关于elasticsearch - 即使没有数据,在固定日期范围内(即固定数量的存储桶)的直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54942602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com