elasticsearch - ELK数据插入失败,因为类型映射失败,因为实际数据类型发生变化
问题描述
我将 json 插入到 ElasticSearch 中,我还为某些索引配置了 dataType: 数据映射。问题是某些字段的类型偶尔会发生变化,而我无法控制这些变化。这会破坏向 ELK 的数据插入。我想知道是否有办法为某个字段指定允许的数据类型列表?或者也许有更好的解决方案来解决我的问题?
解决方案
elasticsearch 中的每个字段只能映射到一种数据类型,例如,如果您有一个映射为数字的字段,则不能在该字段中存储文本值,它会给您一个映射异常。
如果您有一个可以在文档之间更改的字段,您应该以适用于每种情况的方式映射该字段,例如,如果该字段的值可以是整数、字符串或日期,您应该将此字段映射为keyword
或text
,但您将无法对该字段执行数字或日期操作,例如求和或日期范围查询。
您还可以在索引中设置选项ignore_malformed
,true
这样,如果您的字段的数据类型与映射中的字段不同,则只有该字段将被忽略,文档中的其他字段将被索引。如果没有这个选项,整个文档将被忽略并且不会被索引。
推荐阅读
- spring-boot - SpringBoot应用监控添加Timed注解导致报错
- arm-template - 我们如何使用 ARM 模板在 Function App 中添加新的主机密钥
- android - 您的网站“subdomain.domain.com”尚未通过数字资产链接协议链接
- css - 为活动的 a href 设置不同的 CSS 样式
- php - 在 Symfony 中运行 Doctrine 迁移时如何使用不同的连接设置?
- java - 了解 Fork Join - Fork、Join 与 Compute
- batch-file - 批量传递带特殊字符的参数
- python - 导入包有效但仍然出错?
- winforms - WinForms图表缩放X轴标签在缩放时暂时消失
- android - 从 mongodb 检索数据并从 html 插入到脚本中