嗨,我有问题,使用logstash更新弹性多个记录。 我的logstash配置如下:
output {
elasticsearch {
hosts => "******"
user => "xxxxx"
password => "yyyyyy"
index => "index_name"
document_type => "doc_type"
action => "update"
script_lang => "painless"
script_type => "inline"
document_id => "%{Id}"
script => 'ctx._source.Tags = params.event.get("Tags");'
}
}
我对logstash转储文件夹的输出如下所示:
{"index_name":"feed_name","doc_type":"doc_type","Id":["b504d808-f82d-4eaa-b192-446ec0ba487f", "1bcbc54f-fa7a-4079-90e7-71da527f56a5"],"es_action":"update","Tags": ["tag1","tag2"]}
我最大的问题是我无法一次更新这两个recods,但我需要创建两个记录,每个记录具有不同的ID。
有没有什么可以通过在我的输出配置中编写查询来解决这个问题? 在sql看起来像这样:
Update Table
SET Tags
WHERE ID in (guid1, guid2)
我知道在这种情况下我可以在logstash中添加两个记录并解决问题但我需要解决第二个问题,我需要替换所有有一个tag1的记录并给它newTag。