如何实现谷歌风格的“你的意思是”?

时间:2010-12-19 13:09:52

标签: web-services api public

  

可能重复:
  How do you implement a “Did you mean”?

是否有网络服务或公共API,允许您的应用以名人名义检查明显的拼写错误:

Mikul Jaxon
Prinz Charlz
Britnie Speers

或者这需要建立自己的数据库吗?

我想要像谷歌的“ Did you mean ... ? ”这样的功能,当你拼错一些东西时,他们会建议更正。就我而言,我只需要为名人服务。

1 个答案:

答案 0 :(得分:0)

你应该查看apache solr / lucene的fzyiness搜索。 maby模糊搜索或自动完成是一个更好的应用程序,因为它会更快。

然而,我所看到的最简单但仍然非常快的实现是建立一个按相关性加权的令牌文档索引。

然后你可以在“或者结合”的情况下对该表运行查询,并获取你的字符串包含多少个标记的结果。

然后,您可以通过计算Levenshtein_distance轻松确定哪个字对应于查询中的字词。