我有一个名字(姓氏)列表和一个简单的搜索机制。我想在搜索结果中显示带有微小变化(拼写错误)的单词。
示例搜索文字:braniecka
示例结果:Branicka
,Kraniecka
,Braniecki
任何帮助表示感谢。
答案 0 :(得分:3)
您可以实施Levenshtein distance。它是一种广泛使用的算法。
您还可以考虑将解决方案升级到Lucene,尤其是在您从事任何生产工作时。 Lucene以极其高效的方式处理您的需求(没有暴力搜索)。
答案 1 :(得分:0)
尝试使用simmetrics。 是一个用于测量字符串相似性并实现许多算法的库。