MYSQL搜索正确的单词| 修正拼写错误

Nam*_*ame 1 mysql sql spelling

我有一个表dictionary,其中包含类似单词的列表:

   ID|word
   ---------
    1|hello
    2|google
    3|similar
    ...
Run Code Online (Sandbox Code Playgroud)

所以我想如果有人写像

“ hela iam正在为gogle寻找类似引擎”。

现在,我想检查数据库中是否存在每个单词,如果不存在,应该使我得到与该单词相似的单词。例如:helo = hello, simlar = similar, gogle = google。好吧,我想修复拼写错误。在我的数据库中,我有所有英语单词的完整词典。我找不到任何对我有帮助的mysql函数。LIKE对我的情况没有帮助。

Nir*_*evy 5

您可以使用soundex()函数进行语音比较

您的查询应类似于:

select * from table where soundex(word) like soundex('helo');
Run Code Online (Sandbox Code Playgroud)

这将返回您的hello

  • 好东西。以前从未听说过。它并不能解决所有提问者的问题,但是我还是要投票赞成这个问题:) (2认同)