我有一个应用程序可以让人们询问预定义的查询。但是,此类查询的列表太长。因此,当前的方法是让用户在搜索框中输入一个词,然后向他们显示查询列表中可能的匹配项。(很像谷歌的“你的意思是”功能。)
是否有可用的 Java API?我应该能够提供查询列表。API 应提供模糊匹配功能,因此不正确的拼写无关紧要。(这就是为什么精确的字符串匹配算法是不够的)
我有一个应用程序可以让人们询问预定义的查询。但是,此类查询的列表太长。因此,当前的方法是让用户在搜索框中输入一个词,然后向他们显示查询列表中可能的匹配项。(很像谷歌的“你的意思是”功能。)
是否有可用的 Java API?我应该能够提供查询列表。API 应提供模糊匹配功能,因此不正确的拼写无关紧要。(这就是为什么精确的字符串匹配算法是不够的)
也许使用 Soundex 或衍生物的概率算法会起作用?http://en.wikipedia.org/wiki/Soundex
找到Peter Norvig 的拼写纠正算法的这些 Java 实现。有点过时,但适合入门。