Kibana 可视化不显示已分析的字段

Kibana visualization not showing analyzed fields

我正在使用 elasticsearch5 和 kibana5 从 facebook 图 api 开发基于 facebook 评论的仪表板。我添加了一些已分析的字段,它们出现在 Kibana 的发现部分中,但是在进行可视化时我找不到这些字段。

我的脸书评论索引:

PUT fb_comments
{
  "settings": {
      "analysis": {},
      "mapping.ignore_malformed": true
  },
  "mappings": {
      "fb_comment": {
          "dynamic_templates": [
              {
                  "created_time": {
                      "match": "created_time",
                      "mapping": {
                          "type": "date",
                          "format": "epoch_second"
                      }
                  }
              },
              {
                  "message": {
                      "match": "message",
                      "mapping": {
                          "type": "string",
                          "analyzer": "simple"
                      }
                  }
              },
              {
                  "strings": {
                      "match_mapping_type": "string",
                      "mapping": {
                          "type": "string",
                          "index": "not_analyzed"
                      }
                  }
              }
          ]
      }
  }
}

The field message the analyzed one is appearing in discover The field message the analyzed one is not appearing in visualization part

我认为这可能与内存限制有关。根据 Kibana 5 帮助,分析的字段可能需要更多内存。

我检查了我的内存,它确实已达到最大容量。

我终于找到了解决办法。 所以在 elasticsearch 4.X 中我们有 string type 然后你指定了 type of analyzer如果你想被分析。在 elasticsearch 5.X 中,我们有两种类型 keyword,它们会自动 聚合并且不会被分析 ,第二个是 text,它是自动 分析的,而不是聚合的 。解决方案是如果你想要一个 分析字段并同时聚合 你应该添加一个 属性 "fielddata":true 并将对其进行分析和汇总。