ELK数据插入失败,类型映射失败,因为实际数据类型改变

ELK data insertion fails due to type mapping failure because the actual data type changes

我得到 json 插入 ElasticSearch,我还为某些索引配置了 dataType: 数据映射。问题是某些字段的类型偶尔会发生变化,而我无法控制这些变化。这会中断对 ELK 的数据插入。我想知道是否有办法为某个字段指定允许的数据类型列表?或者我的问题可能有更好的解决方案?

elasticsearch 中的字段每个只能映射到 一个 数据类型,例如,如果您有一个映射为数字的字段,则不能在此存储文本值字段,它会给你一个映射异常。

如果您有一个可以在文档之间更改的字段,则应该以适用于每种情况的方式映射此字段,例如,如果字段的值可以是整数、字符串或一个日期,您应该将此字段映射为 keyword or text,但您将无法对此字段执行数字或日期操作,例如求和或日期范围查询。

您还可以在索引中将选项 ignore_malformed 设置为 true,这样,如果您的字段的数据类型与映射中的不同,则只会显示该字段忽略,文档中的其他字段将被编入索引。如果没有这个选项,整个文档将被忽略并且不会被索引。