Php 如何编写MySQL搜索来补偿拼写错误的数据?

Php 如何编写MySQL搜索来补偿拼写错误的数据?,php,mysql,pdo,Php,Mysql,Pdo,有没有办法编写一个MySQL搜索来补偿用户在拼写等方面的错误 作为随机示例,可能会有人键入foo@gmial.com而不是foo@gmail.com. 即使有助于从谷歌获取相关数据的搜索词也会很有帮助。我不是在找一个搜索引擎,比如说,我要找的是一种用于管理控制面板的拼写帮助。有很多方法可以做到这一点。我个人喜欢的一个是听起来像 签出。您正在钻研的主题称为“模糊查找”。这是一个可以跳下去的大兔子洞,这取决于你想得到多精确。有多种方法,例如: soundex Damerau-Levenshtein

有没有办法编写一个MySQL搜索来补偿用户在拼写等方面的错误

作为随机示例,可能会有人键入foo@gmial.com而不是foo@gmail.com.


即使有助于从谷歌获取相关数据的搜索词也会很有帮助。我不是在找一个搜索引擎,比如说,我要找的是一种用于管理控制面板的拼写帮助。

有很多方法可以做到这一点。我个人喜欢的一个是
听起来像


签出。

您正在钻研的主题称为“模糊查找”。这是一个可以跳下去的大兔子洞,这取决于你想得到多精确。有多种方法,例如:

  • soundex
  • Damerau-Levenshtein距离
  • 雅罗-温克勒距离
  • 变音
  • 双变音
请参阅以下参考资料:


您可以使用字典数据库或表格。但问题是这个词到底是拼错了还是仅仅是拼错了。像公司名称等…这是一项非常不可能完成的任务,但如果关键字特定于任何类别,如您提到的mail,您只需管理所有邮件服务提供商列表的数据表,并在mysql中执行之前搜索完美列表。