我在索引模板中禁用了动态字段:
secure
这些字段未在模板中定义,因此它们不应该全部存在,但是对于一些日志,我将看到它们,如屏幕截图所示。
为什么会发生这种情况,只发生在少数(不是所有日志)中,如何防止这种情况发生?
如果我没有在模板中过滤掉这些特定字段,那么这些特定字段将存在于所有日志中,所以我很困惑为什么这种情况只发生在少数几个而不是全部。
答案 0 :(得分:3)
您需要将dynamic设置为strict。
"mappings": {
"_default_": {
"dynamic": "strict"
}
}
根据documentation,
如果elasticsearch检测到新字段,则默认情况下会将其添加到映射中。设置"dynamic": false
会关闭此设置,并且不会动态添加新字段。
This帖子也可能有所帮助。