我想知道在mutate过滤器中使用add_field
时是否有一种使用子字符串的方法,也许使用%{field}语法。
例如:
filter {
mutate {
add_field => { "shorter_field" => "%{field[0:4]}" }
}
}
我看到了使用ruby过滤器的解决方案,但我只喜欢使用mutate,因为我有一系列使用过滤器的操作,而且我希望保持简单
答案 0 :(得分:1)
尝试一下:
(假设您需要该字段的前4个字符。)
代码:
filter {
mutate {
gsub => ["shorter_field", "(?<=^....)(.*)", ""]
}
}
在这里,除前4个字符外的所有字符都将从shorter_field
中删除。
示例:
输入:
shorter_field = example_value
输出:
shorter_field = exam