在我的Web应用程序中,将有几个用户.并且他们将自己的内容上传到我的webapp.对于他们上传的每个内容,它都有标题,描述和标签(关键字).我可以编写搜索脚本来搜索内容或用户名.但是当他们给出拼写错误时它们的关键字不会返回任何结果.例如,如果数据库中有一个名为“Michael”的用户并且搜索查询是“Micheal”,那么我应该得到“你是不是要搜索’迈克尔’”,这不过是一个搜索建议.
此建议也应该针对用户上传的内容.用户可以将其内容的标题保持为“迈克尔2011年5月的活动”,并且应该为单个单词生成建议.
最佳答案
您可以使用SOUNDEX搜索类似声音的名称,如下所示:
原文链接:https://www.f2er.com/mysql/433385.htmlSELECT * FROM users WHERE SOUNDEX(name) = SOUNDEX(:input)
或者那样
SELECT * FROM users WHERE name SOUNDS_LIKE :input
(完全相同)
编辑:如果您需要使用除Soundex之外的算法,正如Martin Hohenberg建议的那样,您需要在表中添加一个额外的列,例如,sound_equivalent. (这实际上是一种更有效的解决方案,因为可以索引此列).请求将是:
SELECT * FROM users WHERE sound_equivalent = :input_sound_equivalent