我有一个数组,其中包含一个带有键和值的对象。我想检查一下"键"场等于某事。
这有效 -
if "MyTest" in [doc][customInput][tags][0][key]
mutate { add_field => {"[doc][test]" => "5555"}}
但是我对[0]索引进行了硬编码,相关条目可能不是数组中的第一个。
我怎么写呢?
答案 0 :(得分:0)
我最终为此目的使用了红宝石过滤器(没有它就找不到任何方法):
filter {
ruby {
code => "
myArray = event['doc']['customInput']['tags']
if myArray && myArray.detect{|t| t['key'] == "MyTest"}
event['doc']['test'] = tags_array.detect{|t| t['key'] == 'MyTest'}['value']
end
"
}
}