首页 > 解决方案 > ELK数据插入失败,因为类型映射失败,因为实际数据类型发生变化

问题描述

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

标签: elasticsearchlogstashelastic-stackelk

解决方案


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

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

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


推荐阅读