kibana“条款”选项中缺少一些字段

Some fields missing from the kibana “terms” options

我有一个 "message" 字段,当我 select 通过 "Terms" 聚合并打开 "Field" 下拉列表时,它没有出现在 kibana 中。

遗憾的是我是 ES 的初学者,但我猜它可能与映射有关。这里是查询结果的开头"GET logstash-2017.02.17"(跟"message_field"部分有关系吗?):

{
  "logstash-2017.02.17": {
    "aliases": {},
    "mappings": {
      "_default_": {
        "_all": {
          "enabled": true,
          "norms": false
        },
        "dynamic_templates": [
          {
            "message_field": {
              "path_match": "message",
              "match_mapping_type": "string",
              "mapping": {
                "norms": false,
                "type": "text"
              }
            }
          },
          {
            "string_fields": {
              "match": "*",
              "match_mapping_type": "string",
              "mapping": {
                "fields": {
                  "keyword": {
                    "type": "keyword"
                  }
                },
                "norms": false,
                "type": "text"
              }
            }
          }
        ],
        "properties": {
          "@timestamp": {
            "type": "date",
            "include_in_all": false
          },

正如您可能已经猜到的那样,数据都是通过 logstash 传入的。在大多数情况下,消息字段似乎是在您使用 logstash grok 过滤器时默认创建的。但是我还有其他 logstash 管道,我专门将数据分配给消息字段。

回答on the elasticsearch forum