首页 > 解决方案 > 在聚合内部过滤 Elasticsearch 查询

问题描述

我有一个查询尝试按年份字段存储记录,然后对于每个存储桶,我想

我不能做的是为分子和分母子桶添加过滤条件。

这是我的查询的样子 -

GET <index_name>/_search
{
  "size": 0,
  "query": { . . <ABLE TO USE bool QUERY HERE>. . },
  "aggs": {
    "test": {
      "date_histogram": {
        "field": "datetimefield",
        "interval": "year",
        "format": "yyyy"
      },
      "aggs": {
        "filter": { <UNABLE TO USE THE SAME bool QUERY here> },
        "denominator": {
          "cardinality": {
            "field": "custom_id.keyword"
          }
        },
        "numerator": {
          "cardinality": {
            "field": "custom_id.keyword"
          }
        },
        "division": {
          "bucket_script": {
            "buckets_path": {
              "denom": "denominator",
              "num": "numerator"
            },
            "script": "params.num / params.denom"
          }
        }
      }
    }
  }
}

我需要一个用于分子和分母的过滤器块的原因是因为我对它们都有不同的标准集。有可能做我想要在这里实现的目标吗?

标签: elasticsearchlucenekibanaelasticsearch-aggregation

解决方案


推荐阅读