【问题标题】:Kibana and the _source field, Elastic Version 6.7Kibana 和 _source 字段,Elastic 版本 6.7
【发布时间】:2019-08-16 10:12:39
【问题描述】:

我想要一个基于我的索引的简单饼图。然而,结果中的字段似乎嵌入在 _source 字段中,不能在 Kibana 的 Terms 聚合中使用。

示例结果如下所示:

现在如果我禁用映射中的 _source 字段:

我没有得到任何字段

但是,Kibana Discover 页面列出了可用字段,ES 结果永远不会返回这些字段 - 当启用 _source 时。

索引映射如下图:

{
  "settings": {
    "analysis": {
      "filter": {
        "filter_stemmer": {
          "type": "stemmer",
          "language": "english"
        }
      },
      "analyzer": {
        "tags_analyzer": {
          "type": "custom",
          "filter": [
            "standard",
            "lowercase",
            "filter_stemmer"
          ],
          "tokenizer": "standard"
        }
      }
    }
  },
  "mappings": {
    "schemav1": {
      "properties": {
      "user_id": {
            "type": "text"
        },

        "technician_query": {
          "analyzer": "tags_analyzer",
          "type": "text"
        },
        "staffer_queries": {
          "analyzer": "tags_analyzer",
          "type": "text"
        },
        "status":{
            "type":"text"
        }
      }
    }
  }
}

【问题讨论】:

  • 您发送的 JSON 文档存储在 _source 字段中,这很正常。您确定您在 Kibana 中正确创建了索引模式吗?
  • Kibana Discover 页面列出了可用字段,ES 结果永远不会返回这些字段 - 当启用 _source 时。上面添加了截图。
  • 你能显示你的索引的映射吗?
  • @Val 添加了映射。
  • 好的,您确定您在 Kibana 中的索引模式已刷新吗?你在那里看到了什么?

标签: elasticsearch kibana


【解决方案1】:

好的,原因很简单,为了让您的字段在聚合中使用,您需要拥有它们的keyword 版本。您不能聚合 text 字段。

将您的映射转换为:

  "mappings": {
    "schemav1": {
      "properties": {
        "user_id": {
            "type": "keyword"
        },

        "technician_query": {
          "analyzer": "tags_analyzer",
          "type": "text",
          "fields": {
            "raw": {
              "type": "keyword"
            }
          }
        },
        "staffer_queries": {
          "analyzer": "tags_analyzer",
          "type": "text",
          "fields": {
            "raw": {
              "type": "keyword"
            }
          }
        },
        "status":{
            "type":"keyword"
        }
      }
    }
  }

所以,user_idstatus 现在是 keywordtechnician_query.rawstaffer_queries.raw 也是`关键字字段,您可以在术语聚合中使用它们,因此也可以在饼图中使用。

【讨论】:

  • 感谢摇滚明星@Val!
  • 太棒了,很高兴它有帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-10
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
  • 2017-04-01
  • 2020-11-07
  • 2016-02-20
相关资源
最近更新 更多