Как использовать скрипт upsert в logstash для обновления документа - PullRequest
0 голосов
/ 15 марта 2019

Я использую приведенный ниже блок вывода для вставки документа и увеличения счетчика (частичных обновлений) для существующего документа с совпадающим идентификатором.

В настоящее время, после первой записи документа в эластичный поиск, «скрипт» не влияет на последующие вызовы обновления. Это не увеличивает значение счетчика

Ниже приведен блок вывода logstash с использованием upsert и скрипта:

  `output {
    stdout { }
    elasticsearch {
    hosts => "localhost"
    index => "test_dest"
    script => "ctx._source.views+=1"
    script_lang => "painless"
    script_type => "inline"
    # scripted_upsert => true 
    doc_as_upsert => true
    document_id => "%{[userId]}"
  }
  stdout {
    codec => "json"
  }
}`

1 Ответ

0 голосов
/ 20 июля 2019

Попробуйте установить action на «обновление» и scripted_upsert на «истина» , как показано ниже:

output {
    elasticsearch {
       action => "update"
       hosts => "localhost"
       index => "test_dest"
       script => "ctx._source.views+=1"
       script_lang => "painless"
       script_type => "inline"
       scripted_upsert => true 
       document_id => "%{[userId]}"
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...