我有DB表,它存储Java中所有异常的列表及其描述。 当用户输入异常名称时,它将检索相应的描述。我已经使用Levenshtein距离匹配字符串,因为它们输入了错误的字符串,但我想从输入字符串中删除字符串搜索中无关的单词,如“和”,“或”等,并提供快速搜索。 / p>
是否存在已经存在的框架或API,用于在字符串列表上进行搜索?
是否有比Levenshtein Distance更好的搜索字符串的方法?
答案 0 :(得分:0)
实际上,你有点不对劲。诸如"和"之类的词和"或"与一些搜索引擎的工作方式密切相关;此外,正如您所知,Levenshtein距离是一种常见且有效的指标,可让您检查单词之间的相似性。此外,使用(可能是散列的)字典几乎和它一样快。此外,如前所述,如果您真的想要过滤输入,请定义过滤规则,处理输入,然后使用结果字符串作为Levenshtein计算的基础。
另外,我有点挑起在这里发布LMGTFY链接,因为实际上阅读维基百科关于Levenshtein的文章会为您提供您可能需要的所有其他信息。我建议您阅读有关所有距离指标和编辑距离的更多信息,我可以添加到以下链接中已有的覆盖范围内。
来源:http://en.wikipedia.org/wiki/Levenshtein_distance,http://en.wikipedia.org/wiki/Edit_distance,http://en.wikipedia.org/wiki/Wagner%E2%80%93Fischer_algorithm