嵌套字符串在包含字符串字段的对象上的聚合

问题描述 投票:0回答:1

我喜欢在对象内部的字符串字段上运行嵌套术语聚合。

通常,我使用此查询

      "terms": {
        "field": "fieldname.keyword"
      }

启用字段数据

但是我无法对这样的嵌套文档执行此操作

{
      "nested": {
        "path": "objectField"
      },
      "aggs": {
        "allmyaggs": {
          "terms": {
            "field": "objectField.fieldName.keyword"
          }
        }
      }
    }

上面的查询只是返回一个空的buckets数组

有没有一种方法可以在索引映射期间默认不启用字段数据的情况下完成此操作。由于那会占用大量的堆内存,因此我已经在没有它的情况下加载了巨大的数据]

elasticsearch elastic-stack
1个回答
0
投票

嵌套查询用于访问嵌套字段,类似地,nested aggregation需要在嵌套字段上聚合

{
  "aggs": {
    "fieldname": {
      "nested": {
        "path": "objectField"
      },
      "aggs": {
        "fields": {
          "terms": {
            "field": "objectField.fieldname.keyword",
            "size": 10
          }
        }
      }
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.