在java中编辑距离

时间:2013-08-13 20:09:29

标签: java search

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

示例搜索文字:braniecka

示例结果:BranickaKranieckaBraniecki

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

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

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