如何解决ELK数据插入由于类型映射失败而失败,因为实际数据类型发生了变化
我将json插入到ElasticSearch中,我还具有dataType:为某些索引配置的数据映射。问题在于某些字段的类型偶尔会更改,而我无法控制这些更改。这破坏了向ELK的数据插入。我想知道是否有一种方法可以为特定字段指定允许的数据类型列表?也许有更好的解决方案来解决我的问题?
解决方法
elasticsearch中的字段只能分别映射为一个数据类型,例如,如果您将一个字段映射为数字,则无法在该字段中存储文本值,它将您是映射例外。
如果您的字段可以在文档之间进行更改,则应以适用于每种情况的方式映射此字段,例如,如果该字段的值可以是整数,字符串或日期,则应将此字段映射为keyword
或text
,但是您将无法对该字段执行数字或日期运算,例如总和或日期范围查询。
您还可以在索引中将选项ignore_malformed
设置为true
,这样,如果您拥有的字段的数据类型与映射中的数据类型不同,则只会忽略此字段,您文档中的其他字段将被索引。如果没有此选项,整个文档将被忽略并且不会编制索引。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。