如果文档不存在,则将文档添加到elasticsearch
Add documents to elasticsearch if it does not exists
我使用 logstash 将一些数据从每天生成的日志传输到 elasticsearch,我的 logstash 输出部分如下所示:
我在我的日志文件和 elasticsearch 中保持相同的 ID (id_ot),但我想做的是:如果新的 ID (id_ot) 已经存在于 elasticseach 中,所以我不会插入它。我怎样才能在 logstash 中做到这一点?
非常感谢任何帮助!
您只需添加 action => create
parameter,如果已存在具有该 ID 的文档,则不会将其编入索引
output {
elasticsearch {
...
action => "create"
}
}
您要的是更新插入,如果存在则创建文档或更新现有文档。
elastic 通过 doc_as_upsert
选项
支持这个
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html#doc_as_upsert
在link右边可以选择适合自己版本的elastic版本
我使用 logstash 将一些数据从每天生成的日志传输到 elasticsearch,我的 logstash 输出部分如下所示:
我在我的日志文件和 elasticsearch 中保持相同的 ID (id_ot),但我想做的是:如果新的 ID (id_ot) 已经存在于 elasticseach 中,所以我不会插入它。我怎样才能在 logstash 中做到这一点?
非常感谢任何帮助!
您只需添加 action => create
parameter,如果已存在具有该 ID 的文档,则不会将其编入索引
output {
elasticsearch {
...
action => "create"
}
}
您要的是更新插入,如果存在则创建文档或更新现有文档。
elastic 通过 doc_as_upsert
选项
https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html#doc_as_upsert
在link右边可以选择适合自己版本的elastic版本