2015-11-27 22 views
0

我有一些文档的id是随机生成的。这里的问题是我需要找到这些文件中的重复项。我有三个字段,对于两个文件不应该是相同的。那么如何检查基于多个字段的重复项?查找重复的文档

样本文件

document 1 = { 
"process" : "business", 
"processId" : 5433321, 
"country" : "US" 
} 

document 2 = { 
"process" : "operations", 
"processId" : 334233, 
"country" : "UK" 
} 

document 3 = { 
"process" : "business", 
"processId" : 5433321, 
"country" : "US" 
} 

在这里,你可以看到,文件1和文件3相同,但他们都在我的数据库具有不同的ID,所以存在作为单独的文档。所以在运行时,我需要找到上面的重复,如果可能的话只保留一个。

+0

你可以显示你正在谈论的那些领域的示例文档吗? – Val

回答

0

这里最好的选择是围绕文档ID建模文档。现在为每个独特的文档创建一个docID,它是文档内容的散列。这确保索引中只存在一个唯一的文档。接下来使用_create API创建文档。这将会使用相同的文档ID覆盖写入文档的所有请求失败。

您可以进一步阅读其他重复问题及其解决方案here