Как установить документ _id и _source с помощью logstash иasticsearch - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть файл, где каждая строка представляет собой строку JSON, например:

{"_id":171962,"doc":{"account_id":53,"email":"user@gmail.com"}}

И следующую конфигурацию logstash:

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.

Что я действительно хочу, так это установить идентификатор документа с _id и просто установить все в свойстве doc в JSON как документ.

Какая конфигурация мне не хватаетчто позволит мне сделать это?

1 Ответ

0 голосов
/ 27 сентября 2018

Вы пробовали это.

 document_id => "%{_id}"

Кроме того, вы можете использовать upsert вместо обновления, если это не всегда обновление.

...