如果批量请求两次包含具有不同属性的相同文档,弹性搜索可以拒绝请求吗?

Can Elastic search reject request if a bulk request contains same document twice with different properties?

我正在学习 Elastic Search,所以请原谅我这个入门问题。

场景是我们有多个数据生成器将数据发送到 AWS Kinesis firehose,后者配置为将数据传送到 AWS Elastic 搜索。 多个数据生产者可能会根据发生的不同编辑将相同数据发布到 Kinesis firehose。

由于 Kinesis Firehose 缓冲请求,然后批量传送到 ES,批量请求有可能对同一文档进行多次编辑。

如何确保只处理最新的文档?

请注意,所有文档都有一个时间戳字段,表示它的最后修改时间。

没有。 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

张贴此内容以防将来有人觉得有用。

我在 versioning 上的弹性搜索中遇到了这个功能。这在某种程度上使我能够在某种程度上控制索引。 elastic search 论坛 here 上的另一个帖子也讨论了使用自己的版本编号来防止乱序写入的同一件事。 我玩过 version_type=external 和自己的版本控制方案,到目前为止似乎没问题。