首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >固定日期范围内的直方图(即固定数量的存储桶),即使没有数据也是如此

固定日期范围内的直方图(即固定数量的存储桶),即使没有数据也是如此
EN

Stack Overflow用户
提问于 2019-03-01 18:23:54
回答 1查看 61关注 0票数 1

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

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

代码语言:javascript
复制
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)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-01 18:59:51

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

按如下方式更新您的查询:

代码语言:javascript
复制
{
  "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"
        }
      }
    }
  }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54942602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档