elasticsearch 使用logstash更新elastic中的多个记录
嗨,伙计,我对使用logstash更新elastic中的多个记录有问题。 我的日志存储配置如下elasticsearch 使用logstash更新elastic中的多个记录,elasticsearch,logstash,logstash-configuration,elasticsearch,Logstash,Logstash Configuration,嗨,伙计,我对使用logstash更新elastic中的多个记录有问题。 我的日志存储配置如下 output { elasticsearch { hosts => "******" user => "xxxxx" password => "yyyyyy" index => "index_name" document_type => "doc_type" acti
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转储文件夹的输出如下所示:
{“索引名称”:“提要名称”,“文档类型”:“文档类型”,“Id”:[“b504d808-f82d-4eaa-b192-446ec0ba487f”,“1bcbc54f-fa7a-4079-90e7-71da527f56a5”],“es操作”:“更新”,“标记”:[“标记1”,“标记2”}
我这里最大的问题是,我不能一次更新这两个记录,但我需要创建两个记录,每个记录具有不同的ID
为什么要通过在输出配置中编写查询来解决这个问题?
在sql中,看起来是这样的:
Update Table
SET Tags
WHERE ID in (guid1, guid2)
我知道在这种情况下,我可以在logstash中添加两条记录并解决问题,但我需要解决第二个问题,即我需要替换具有一个tag1的所有记录并将其设置为新Tag。您是否考虑过使用,以便在每个事件都具有一个id的事件中克隆事件?看来过滤器能帮你