在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

logstash将Oracle中数据导入es 如何导为nested类型

匿名 | 发布于2019年09月09日 | 阅读数:2006

一直没想明白这个问题 也没找下资料 有没有大神可以教我一下 感谢!
已邀请:

menglinjie

赞同来自:

可以先创建索引,修改mapping类型是nested,再用logstash进行数据导入。
使用aggregate插件进行聚合。
aggregate {
task_id => "%{id}"
code => "
map['id'] = event.get('id')
map['register_name'] = event.get('register_name')
map['mobile'] = event.get('mobile')
map['avatar'] = event.get('avatar')
map['pet_list'] ||=
map['pets'] ||=
if (event.get('pet_id') != nil)
if !(map['pet_list'].include? event.get('pet_id'))
map['pet_list'] << event.get('pet_id')
map['pets'] << {
'pet_id' => event.get('pet_id'),
'name' => event.get('name'),
'images' => event.get('images'),
'breed_id' => event.get('breed_id'),
'breed_name' => event.get('breed_name'),
'birthday' => event.get('birthday')
}
end
end

event.cancel()
"

push_previous_map_as_event => true
timeout => 5
}

要回复问题请先登录注册