我有一个字符串字段“origin_message”。它非常大(用于接收邮件内容的多行代码。“origin_message”的示例:
Delivered-to: somemail@domain.com A LOT OF OTHER CONTENT Subject: Subject goes here AND THE REST OF THE MESSAGE
所需结果:
Subject goes here AND THE REST OF THE MESSAGE
有没有办法修剪“主题:”短语之前的所有内容?
我没有运气就尝试了以下过滤器:
filter {
mutate {
add_field => { "original_message" => "%{message}" }
convert => {
"original_message" => "string"
}
gsub => [
"original_message", "^(.*)Subject", " "
]
}
}
最佳答案
不确定为什么,但是在将其复制到单独的“original_message”字段之前在“消息”字段上使用gsub可以解决此问题。
filter {
mutate {
gsub => ["message", "^(.*)Subject", " "]
add_field => { "original_message" => "%{message}" }
convert => {
"original_message" => "string"
}
}
}
@Val,感谢您的验证。问题似乎与模式无关。
关于elasticsearch - 如何在Logstash中使用grok或gsub删除特定单词之前的字符串部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41762384/