如何解决建议其他查询古式拼字例如Google的“您是不是要”
过去,我设法实现了与SOUNDEX类似的功能,可以近似实现该功能。
马丁(Martin),马丁(Martyn)和马丁(Martine)从产生相同的输出SOUNDEX
。
您可以包括SOUNDEX
比赛的所有结果,也可以选择他们要求的结果,然后select distinct name from table where
SOUNDEX(name) = SOUNDEX(search_var)
作为您的“建议”。
作为一种优化,您可以在搜索字段上预先计算SOUNDEX并将其保留为索引列,以避免进行表扫描。
解决方法
我的客户有一个跨越400年的房地产记录数据库。他们有兴趣根据用户的数据向用户提出其他拼写建议。
我假设在这种情况下,该表将落在一个表上,该表具有用于“ Martin”的行以及对“ Martyn”和“ Martine”的建议等。
有谁知道将索引其数据的第三方解决方案?
编辑
每个魔术师的答案都震撼了SOUNDEX()
!
SELECT `Last` FROM `Names`
WHERE SOUNDEX(`Last`) RLIKE SOUNDEX ('Martin')
GROUP BY `Last`
产生这个漂亮的小清单:
Martens
Martenstein
Martin
Martina
Martindale
Martine
Martineau
Martines
Martinet
Martinez
Martini
Martino
Martinstein
Mertens
Miradona
Moret and Marchand
Mortimer
Morton
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。