因此,我的elasticsearch索引包含500万个字符串,例如:"hello","how are you","hi“。这只是我的机器人的一个短语。我试过模糊搜索,但它对我来说不是正确的。我见过的最好的实现是: postgres trigram与Levenshtein距离,但在500万个字符串中,它的运行速度很慢。一般来说,我只需要Leve
我决定使用levenshtein距离作为相似性度量,同时使用dbscan作为聚类算法,因为k-means算法不起作用,因为我不知道聚类的数量。下面的代码片段适用于格式为I an的小型数据集,但由于它预先计算了整个距离矩阵,因此需要O(n^2)空间和时间,对于我的大型数据集来说太多了。lev_similarity = -1*np.array([[distance.levenshtein(w1[0],w2[0]) for w1 in wo