0

我有一个名字(姓氏)列表和一个简单的搜索机制。我想在搜索结果中显示有细微变化(错别字)的单词。

搜索文本示例:braniecka

示例结果:Branicka, Kraniecka,Braniecki

任何帮助表示赞赏。

4

2 回答 2

3

您可以实现Levenshtein distance。它是一种广泛使用的算法。

您还可以考虑将您的解决方案升级到 Lucene,尤其是在您进行任何生产工作时。Lucene 以极其高效的方式处理您的需求(没有暴力穷举搜索)。

于 2013-08-13T20:12:44.427 回答
0

尝试使用 simmetrics。是一个用于测量字符串相似度的库,并实现了许多算法。

http://sourceforge.net/projects/simmetrics/

于 2013-08-13T20:15:57.307 回答