【问题标题】:How to list all fields in an index that have at least 1 value across a search query如何列出索引中在搜索查询中至少有 1 个值的所有字段
【发布时间】:2016-09-29 06:54:51
【问题描述】:

在索引任何文档之前,我正在创建一组具有相同映射的弹性搜索索引。对于其中一些索引,从不使用某些字段。

在给定一些搜索查询的情况下,有没有办法获取所有已使用字段的列表?例如,假设我执行的搜索返回以下单个文档(或具有与此相似架构的一组文档):

{
  type: "foo",
  data: {
    name: "foo",
    address: "bar",
    phoneNumber: "baz"
  }
}

我希望我询问的查询返回 [type, data.name, data.address, data.phoneNumber]

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    为此可以使用元字段_field_names

    如下例所示在此运行聚合也会为您提供文档计数。

    例子:

    {
       "size": 0,
       "aggs": {
          "Field names": {
             "terms": {
                "field": "_field_names",
                "size": 0
             }
          }
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      • 2016-03-12
      相关资源
      最近更新 更多