我正在尝试将使用logstash的kaggle电影dataset上传到elasticsearch中。 类型字段是一个字符串化的JSON对象:
"genres" : "[{'id': 28, 'name': 'Action'}, {'id': 18, 'name': 'Drama'}, {'id': 9648, 'name': 'Mystery'}, {'id': 53, 'name': 'Thriller'}]"
是否可以像使用logstash一样将上述值转换为数组?
"genres"; ["Action", "Drama", "Mystery", "Thriller"]
我尝试使用 json 过滤器,但是没有运气。
filter {
json {
source => "genres"
}
}
答案 0 :(得分:1)
我认为您应该将json字符串转换为对象,然后将该对象处理为新对象,然后将新对象转换为新的json字符串。
对象:Gener { int id; string value; }
旧对象:{ List<Gener> geners }
新对象:{ List<string> geners }