有没有什么方法可以编写一个 MySQL 搜索来弥补用户在拼写等方面的错误?
作为随机示例,有人可能会输入[电子邮件受保护] /cdn-cgi/l/email-protection代替[电子邮件受保护] /cdn-cgi/l/email-protection.
甚至帮助搜索词来帮助从谷歌提取相关数据也会很有帮助。我不是在寻找搜索引擎,也就是说,我正在寻找的是管理控制面板的某种拼写辅助工具。
您正在研究的主题称为“模糊查找”。这是一个很大的兔子洞,需要跳下去,具体取决于你想要的精确程度。有多种方法,例如:
- soundex
- 达默劳-莱文斯坦距离
- 哈罗-温克勒距离
- 变音位
- 双变音位
一些可供查看的参考资料:
- PHP/MySQL小规模模糊搜索 https://stackoverflow.com/questions/1914671/php-mysql-small-scale-fuzzy-search
- http://en.wikipedia.org/wiki/Approximate_string_matching http://en.wikipedia.org/wiki/Approximate_string_matching
- 如何将 MYSQL 中的公司名称与 PHP 进行模糊匹配以实现自动完成? https://stackoverflow.com/questions/369755/how-do-i-do-a-fuzzy-match-of-company-names-in-mysql-with-php-for-auto-complete
- mysql/模糊搜索的Levenshtein距离的实现? https://stackoverflow.com/questions/634995/implementation-of-levenshtein-distance-for-mysql-fuzzy-search
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)