1

我将 LSH 用于数据库记录,并通过它创建一个索引(不是数据库索引,一个简单的哈希图),其中类似的记录被阻止到同一个存储桶中。数据库可能包含数百万条记录。我的问题与我在下面发布的设计有关。

在此处输入图像描述

首先,我将使用通过执行 LSH 可用的数据库创建索引。但是当一条新记录插入数据库时​​,我必须将该记录也索引到索引中。我怎样才能使用 LSH 做到这一点?LSH 可以将该记录分配给具有相似记录的存储桶吗?LSH 是否支持更新数据集?

4

1 回答 1

2

我会使用用 C++ 编写的E2LSH(由 Andoni 开发,这是一个很棒的人)。在该项目的网站中,提到:

最新(不完全)LSH 算法(2014 年):这些算法通过使用数据相关散列法实现比经典 LSH 算法更好的性能。它们改进了汉明空间和欧几里得空间的经典 LSH 算法。然而,这些算法不是动态的,与经典的 LSH 算法相比,后者使用数据无关的散列,因此允许更新点集。

如果您不想使用库,但出于某种原因想要开发自己的库,我建议您先学习手册

于 2015-09-07T05:16:17.297 回答