gpt4 book ai didi

elasticsearch - 是否有可能通过logstash配置文件覆盖现有的elasticsearch索引

转载 作者:行者123 更新时间:2023-12-03 00:41:49 29 4
gpt4 key购买 nike

我在下面有logstash配置文件,该文件用于索引数据库(在本例中为csv文件)。每次我以此配置调用logstash时,它都会添加到现有的Elasticsearch索引中,从而产生重复项。我真的希望它覆盖现有索引。我意识到我可以通过两个配置调用来做到这一点,一个配置是action =>“delete”,另一个配置是action =>“index”,但看来我应该可以一步完成。另外,从documentation尚不清楚我是否可以为此使用upsert。 (此外,请注意,我正在使用stdin选项,这意味着一旦为文档建立索引,logstash就会退出,它不会继续监视文档的更改)感谢您的帮助。

input {
stdin {}
}
filter {
csv {
columns => [a,b,c,d]
separator=> ","
}
}

output {
elasticsearch {
hosts => ["localhost:9200"]
index => "database.csv"
}
}

最佳答案

如果您拥有(或可以计算出)csv中的ID,则可以执行以下操作:

output {
elasticsearch {
hosts => ["localhost:9200"]
index => "database.csv"
document_id => "%{yourComputedId}"
}
}

然后,每次尝试索引相同的ID时,它将在es索引中更新。

关于elasticsearch - 是否有可能通过logstash配置文件覆盖现有的elasticsearch索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36094844/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com