还记得搜索引擎里当你输入错了关键字或者记不太清楚的时候,搜索引擎会帮助你提示“您要找的是不是XXX”。
如百度“wangking”,提示"你要找的是不是 网名 wangming"
URL: http://www.baidu.com/s?bs=sb&f=8&wd=wangking
在群里看到有人在问这个如何实现,有人提到相似度查询,其实就是这个道理。
网上找了一些比较好的参考资料:
Lucene SpellChecker
http://www.infoq.com/cn/articles/lucene-did-you-mean
Solr SpellChecker
http://blog.chenlb.com/2009/02/try-solr-spellcheck.html
wangking 写道
针对上面的两篇文章,我提出一个补充。
一般所谓纠错功能,就是做相似度查询,在一个可维护的字典中查找相似度最高的几个词出来(如字典dict.txt)。
我觉得不是每个关键字都提供纠错功能,可以在一定的时机下提示,如搜索结果少于20条,或者热度少于XXX,则提供纠错功能。
一般所谓纠错功能,就是做相似度查询,在一个可维护的字典中查找相似度最高的几个词出来(如字典dict.txt)。
我觉得不是每个关键字都提供纠错功能,可以在一定的时机下提示,如搜索结果少于20条,或者热度少于XXX,则提供纠错功能。