gpt4 book ai didi

elasticsearch - Elasticsearch date_histogram extended_bounds

转载 作者:行者123 更新时间:2023-12-02 22:15:40 26 4
gpt4 key购买 nike

我想在特定时间段内获取 date_histogram,如何限制日期时间段?我应该使用extended_bounds 参数吗?例如:我想查询'2016-08-01'和'2016-08-31'之间的date_histogram,间隔为天。我用这个表达式查询:

{
"aggs": {
"cf_loan": {
"date_histogram": {
"field": "createDate",
"interval": "day",
"format": "yyyy-MM-dd",
"min_doc_count": 0,
"extended_bounds": {
"min": "2016-08-01",
"max": "2016-08-31"
}
}
}
}
}

但是我得到的 date_histogram 不在范围内。

最佳答案

你快到了,你需要添加一个 range查询以便仅选择 createDate 的文档字段在所需的范围内。

{
"query": {
"range": { <---- add this range query
"createDate": {
"gte": "2016-08-01T00:00:00.000Z",
"lt": "2016-09-01T00:00:00.000Z"
}
}
},
"aggs": {
"cf_loan": {
"date_histogram": {
"field": "createDate",
"interval": "day",
"format": "yyyy-MM-dd",
"min_doc_count": 0,
"extended_bounds": {
"min": "2016-08-01",
"max": "2016-08-31"
}
}
}
}
}
extended_bounds的作用参数是为了确保您每天从 min 获得桶至 max即使其中没​​有文件。例如,假设您在 2016-08-04 和 2016-08-28 之间每天有 1 个文档,那么没有 extended_bounds参数,您将获得 25 个存储桶(2016-08-04、2016-08-05、2016-08-06、...、2016-08-28)。

extended_bounds参数,您还将获得以下存储桶,但包含 0 个文档:
  • 2016-08-01
  • 2016-08-02
  • 2016-08-03
  • 2016-08-29
  • 2016-08-30
  • 2016-08-31
  • 关于elasticsearch - Elasticsearch date_histogram extended_bounds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39322942/

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