我正在学习Elastic Search,所以请原谅我的这个入门问题。
场景是,我们有多个数据生成器,它们将数据发送到AWS Kinesis firehose,后者被配置为将数据交付给AWS Elastic search。根据发生的不同编辑,多个数据生成器可能会将相同的数据发布到Kinesis firehose。
由于Kinesis Firehose会缓冲请求,然后将其批量发送到ES,因此批量请求有可能对同一文档进行多次编辑。
如何确保只处理最新的文档?
需要注意的是,所有文档都有一个时间戳字段,该字段表示文档的最后修改时间。
发布于 2019-10-03 02:55:51
发布这篇文章,以防将来有人觉得这很有用。
我在versioning上的elastic search中偶然发现了这个功能。这在某种程度上为我提供了一种控制索引的能力。此外,elastic search论坛here上的另一个帖子也谈到了同样的事情,使用自己的版本编号来防止无序写入。我使用了version_type=external和自己的版本控制方案,到目前为止似乎还不错。
发布于 2019-09-23 00:07:19
不是的。Elasticsearch没有验证文档副本的选项。不过,您可以通过许多其他方式来实现这一点。有关更多详细信息,请参阅以下链接
https://www.elastic.co/blog/how-to-find-and-remove-duplicate-documents-in-elasticsearch
https://www.elastic.co/blog/efficient-duplicate-prevention-for-event-based-data-in-elasticsearch
https://stackoverflow.com/questions/58050086
复制相似问题