为什么这些字段会落入我的索引模板中未定义的elasticsearch?

时间:2017-04-07 18:22:33

标签: elasticsearch logstash elastic-stack

我在索引模板中禁用了动态字段:

secure

现在,当我查看我在Kibana的日志时,我偶尔会看到这个: enter image description here

这些字段未在模板中定义,因此它们不应该全部存在,但是对于一些日志,我将看到它们,如屏幕截图所示。

为什么会发生这种情况,只发生在少数(不是所有日志)中,如何防止这种情况发生?

如果我没有在模板中过滤掉这些特定字段,那么这些特定字段将存在于所有日志中,所以我很困惑为什么这种情况只发生在少数几个而不是全部。

1 个答案:

答案 0 :(得分:3)

您需要将dynamic设置为strict。

"mappings": { 
  "_default_": { 
    "dynamic": "strict" 
  } 
}

根据documentation, 如果elasticsearch检测到新字段,则默认情况下会将其添加到映射中。设置"dynamic": false会关闭此设置,并且不会动态添加新字段。

This帖子也可能有所帮助。