避免 Elasticsearch 中出现重复文档

Goo*_*oot 3 elasticsearch

我从 JSON 解析文档,该文档将作为父文档的子文档添加。我只是将项目发布到索引,而不关心 id。

有时 JSON 会更新并且项目会添加到其中。例如,我从 JSON 中解析了 2 个文档,一两周后我再次解析相同的 JSON。这次 JSON 包含 3 个文档。

我找到了类似的答案:“删除所有子项并再次插入所有项目。”,但我怀疑这就是我正在寻找的解决方案。

我可以将每个项目与目标父级的子级进行比较,并添加新文档(如果没有相等的子级)。

我想知道是否有办法让elasticsearch 处理重复项。

Vin*_*han 6

重复需要在 ID 处理本身中进行处理。选择文档唯一的键并将其作为 _id。如果密钥太大或者有多个密钥,请创建一个 SHAH 校验和并将其作为 _id。

如果数据库中已经有重复数据删除,则可以使用与 top_hits 聚合嵌套的术语聚合来检测这些内容。

您可以在此处阅读有关此方法的更多信息。