在数据库中进行汉明距离/相似性搜索

时间:2012-03-07 17:42:07

标签: sql search nosql similarity hamming-distance

我有一个过程,类似于生成感知哈希的tineye,这些是32位整数。

我打算将这些存储在sql数据库(可能是nosql db)中

但是,我很难理解如何根据哈希的相似性检索记录。

任何想法?

2 个答案:

答案 0 :(得分:1)

David的讨论是正确的,但如果您没有大量数据,请查看Hamming distance on binary strings in SQL

答案 1 :(得分:0)

要查找汉明距离,您可以使用按位加法和减法(&和〜整数)来计算它们。

SQL不适用于此类处理。对大数据集的比较变得非常混乱,并且不具有利用系统强度的查询的速度。也就是说,我做过类似的事情。

这将为您提供个体差异,这些差异需要在完整数据集上运行并且有序,这最多是混乱的。如果您希望它运行得更快,则需要使用“区域”索引或在数据中查找自然分组等策略。有伞形聚类策略,类似 - 有很多文献。但是,在大多数传统的数据库系统中,它会变得混乱。