我正在做一个php mysql搜索脚本,它在一个非常大的数据库中搜索(超过2 000 000行),我希望它快。我想让它进行拼写检查和智能单词检测,例如当用户输入是phrone或hpone时查询手机。所以我找到的最好方法是使用REGEXP
。但是当我使用带有复杂表达式的mysql的regexp时,它有点慢。你对我有什么建议吗?
用于匹配电话的phrone的正则表达式示例
[a-zA-Z]*[phrone]{3,}[a-zA-Z]{3,}
答案 0 :(得分:2)
请阅读此文档: https://dev.mysql.com/doc/refman/5.7/en/fulltext-search.html
这使您可以搜索您描述的内容。 如果你想要更多功能和功能,请使用elasticsearch或其他搜索引擎(SOLR),它们非常快,并且具有更多功能。