【发布时间】:2017-01-20 18:13:13
【问题描述】:
我正在解析日志文件,为简单起见,假设将具有以下格式:
{"message": "hello world", "size": 100, "forward-to": 127.0.0.1}
我将这些行索引到 Elasticsearch 索引中,我在其中定义了一个自定义映射,使 message、size 和 forward-to 的类型为 text,分别为integer 和ip。但是,一些日志行看起来像这样:
{"message": "hello world", "size": "-", "forward-to": ""}
当 Elasticsearch 尝试索引这些文档时,这会导致解析错误。由于技术原因,预处理这些文档并将"-" 和"" 更改为null 对我来说非常重要。无论如何定义我的映射应该将哪些值视为 null ?是否有一个我可以编写的分析器适用于任何字段类型,我可以添加到我的映射中的所有条目中?
基本上我正在寻找与null_value 选项相反的东西。我不想告诉 Elasticsearch 将null_value 变成什么,而是告诉它应该变成null_value。也可以接受的方法是告诉 Elasticsearch 简单地忽略看起来以某种方式但仍解析文档中其他字段的字段。
【问题讨论】:
-
我刚刚意识到有一个
ignore_malformed选项... -
或者您可以创建一个自定义分析器来删除“空”标记
标签: elasticsearch