Indexing 在大型数据库中搜索(非常)近似的子字符串

Indexing 在大型数据库中搜索(非常)近似的子字符串,indexing,lucene,substring,information-retrieval,Indexing,Lucene,Substring,Information Retrieval,我试图在大型数据库中搜索长的近似子字符串。例如,一个查询可以是一个1000个字符的子字符串,它可能与匹配项相差数百次编辑的Levenshtein距离。我听说索引q-gram可以做到这一点,但我不知道实现细节。我也听说Lucene可以做到,但是Lucene的levenshtein算法是否足够快,可以进行数百次编辑?也许是剽窃检测之外的东西?感谢您的建议。Q-grams可能是一种方法,但也有其他方法,如Blast、BlastP-用于蛋白质、核苷酸匹配等 该库是字符串距离方法的综合集合 在这里,Luc

我试图在大型数据库中搜索长的近似子字符串。例如,一个查询可以是一个1000个字符的子字符串,它可能与匹配项相差数百次编辑的Levenshtein距离。我听说索引q-gram可以做到这一点,但我不知道实现细节。我也听说Lucene可以做到,但是Lucene的levenshtein算法是否足够快,可以进行数百次编辑?也许是剽窃检测之外的东西?感谢您的建议。

Q-grams可能是一种方法,但也有其他方法,如Blast、BlastP-用于蛋白质、核苷酸匹配等


该库是字符串距离方法的综合集合

在这里,Lucene似乎不是合适的工具。除了米科斯的好建议,我还听说了,还有。我认为一个有效的方法应该首先大幅削减搜索空间,然后对剩余的候选对象进行更复杂的评分。

出于兴趣,您正在搜索的字符串信息是什么-文本信息还是其他形式的结构?您还应该查看余弦相似性