例如我接收到的第一个文档,通过logstash 输出至es
{"call_id": "123456", start_time="2020-01-01 01:00:00", orgCode:"666777", type: "1"}
几分钟后,logstash收到具有相同call_id,不同字段值的日志 {"call_id": "123456", start_time="2020-01-01 01:00:00", type: "2",end_time="2020-01-01 01:00:05"}
这些字段已正确加载,但是创建了两个文档。我希望只为初始日志创建一个文档,然后用第二个日志来更新覆盖第一个日志,两个日志互相不存在的字段保留,这意味着更新后的文档将具有以下字段: {"call_id": "123456", start_time="2020-01-01 01:00:00", type: "2",orgCode:"666777",end_time="2020-01-01 01:00:05"}
output {
# 根据上面的type不同,建立不同索引
if [type] == "robotLog" {
elasticsearch {
action => "index"
hosts => "127.0.0.1:9200"
index => "robot_log-%{+YYYY.MM.dd}"
document_type => "_doc"
codec => "json"
}
}
# 调试模式
stdout {
codec => json_lines
}
}
这种请问需要用什么插件可以实现
1 个回复
laoyang360 - 《一本书讲透Elasticsearch》作者,Elastic认证工程师 [死磕Elasitcsearch]知识星球地址:http://t.cn/RmwM3N9;微信公众号:铭毅天下; 博客:https://elastic.blog.csdn.net
赞同来自: