elasticsearch 如何使用logstash和elasticsearch设置文档_id和_源,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 如何使用logstash和elasticsearch设置文档_id和_源,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 如何使用logstash和elasticsearch设置文档_id和_源

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

我有一个文件,其中每一行都是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_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