I'd refactor your code as following
filter {
ruby {
code => '
hash = event.get("kv")
event.get("template").each_with_index do |item, index|
hash.each { |k, v| event.set("[template][#{index}]", v) if k.include? "id" }
end
'
}
}