我有一个包含 10,000 人的人员数据库。我正在开发一个 PHP CMS 来管理和搜索这些人。
对旧系统的提示之一是您必须按照名称的确切拼写来搜索名称,否则不会返回任何结果。
旧系统使用 MySQL LIKE 语句,这太精确了(我不想让用户因为如何使用通配符的解释而增加负担)
我听说过 Sphinx 和 Solr 等系统 - 这些令人印象深刻且非常强大,但理想情况下我希望避免在服务器上安装额外的软件并进行大量配置(或者如果我这样做,则更简单越好)
您建议使用哪种系统来提供“更智能”的关键字解释(主要匹配拼写紧密的单词)?
最佳答案
你可以看看mySQL的SOUNDEX() / SOUNDS LIKE
是否有为您完成这项工作。如果没有,您可能确实需要一个外部搜索引擎,就像您提到的那样。
但首先请务必查看 mySQL's full text search functions.它们在输入关键字方面不是很灵活,但它们提供了许多附加功能,例如开箱即用的 bool 搜索+Miller -Peter
。也许这已经可以帮助您解决客户的情况了。
关于mysql - 更高级的 MySQL 记录搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3816972/