繁体   English   中英

Elasticsearch date_histogram 不显示全范围聚合

[英]Elasticsearch date_histogram not show full range aggregation

这是我的查询。 我使用的 date_histogram 范围为 2021 年 6 月至 2021 年 12 月。

{
  "from": 0,
  "size": 0,
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "medicalRecordDiagnosesDischarge.catDiseaseGroupDetail.catDiseasesGroup.diseasesGroupId": {
              "value": 13,
              "boost": 1
            }
          }
        },
        {
          "range": {
            "examinationDate": {
              "from": "2021-01-01T00:00:00.000Z",
              "to": "2022-01-01T00:00:00.000Z",
              "include_lower": true,
              "include_upper": false,
              "boost": 1
            }
          }
        }
      ]
    }
  },
  "aggregations": {
    "agg_name": {
      "date_histogram": {
        "field": "examinationDate",
        "format": "MM",
        "calendar_interval": "1M",
        "offset": 0,
        "order": {
          "_key": "asc"
        },
        "keyed": false,
        "min_doc_count": 0
      }
    }
  }
}

结果:

"buckets" : [
        {
          "key_as_string" : "01",
          "key" : 1609459200000,
          "doc_count" : 66
        },
        {
          "key_as_string" : "02",
          "key" : 1612137600000,
          "doc_count" : 18
        },
        {
          "key_as_string" : "03",
          "key" : 1614556800000,
          "doc_count" : 114
        },
        {
          "key_as_string" : "04",
          "key" : 1617235200000,
          "doc_count" : 15
        },
        {
          "key_as_string" : "05",
          "key" : 1619827200000,
          "doc_count" : 22
        },
        {
          "key_as_string" : "06",
          "key" : 1622505600000,
          "doc_count" : 1
        },
        {
          "key_as_string" : "07",
          "key" : 1625097600000,
          "doc_count" : 2
        },
        {
          "key_as_string" : "08",
          "key" : 1627776000000,
          "doc_count" : 3
        }
      ]

如您所见,结果仅显示 01 -> 08 月的数据。 缺失09、10、11、12月数据

我想要的查询结果是:

{
          "key_as_string" : "01"
        },
        {
          "key_as_string" : "02"
        },
        {
          "key_as_string" : "03"
        },
        {
          "key_as_string" : "04"
        },
        {
          "key_as_string" : "05"
        },
        {
          "key_as_string" : "06"
        },
        {
          "key_as_string" : "07"
        },
        {
          "key_as_string" : "08"
        },
        {
          "key_as_string" : "09"
        },
        {
          "key_as_string" : "10"
        },
        {
          "key_as_string" : "11"
        },
        {
          "key_as_string" : "12"
        }

我怎样才能得到上面的结果? 我尝试了 extended_bounds 但它是错误的双重结果。 (与 calendar_interval 相同的是季度)

您是否尝试过在聚合中使用size参数?

{
   "aggregations": {
    "agg_name": {
      "date_histogram": {
        "field": "examinationDate",
        ...
        "size": 12
      }
    }
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM