elasticsearch 如何使用logstash和elasticsearch设置文档_id和_源
我有一个文件,其中每一行都是JSON字符串,如下所示:elasticsearch 如何使用logstash和elasticsearch设置文档_id和_源,elasticsearch,logstash,elasticsearch,Logstash,我有一个文件,其中每一行都是JSON字符串,如下所示: {"_id":171962,"doc":{"account_id":53,"email":"user@gmail.com"}} 以及以下日志存储配置: input { s3 { codec => json_lines } } output { elasticsearch { doc_as_upsert => true action => "update" document_i
{"_id":171962,"doc":{"account_id":53,"email":"user@gmail.com"}}
以及以下日志存储配置:
input {
s3 {
codec => json_lines
}
}
output {
elasticsearch {
doc_as_upsert => true
action => "update"
document_id => "%{[_id]}"
}
stdout {
codec => json_lines
}
}
但是,我得到以下错误:
Field [_id] is a metadata field and cannot be added inside a document. Use the index API request parameters.
我真正想要的是从\u id
设置文档id,并将JSON中doc
属性下的所有内容设置为文档
我缺少什么配置可以让我执行此操作?您是否尝试过此操作
document_id => "%{_id}"
此外,如果不总是更新,您可能希望使用upsert而不是update