我正在研究我网站的搜索功能。我想为用户提供最好的搜索机制。我正在使用 PHP/MYSQL。
假设用户搜索“运动”。
我有 30 条包含“sport”一词的记录和 5 条包含“sports”一词的记录,但是当我搜索 sport 时,以下查询仅返回结果 30 个包含“sport”一词的人。但实际上我认为提供良好搜索结果的最佳方式是显示所有 30+5 记录,所有记录有运动或运动。
SELECT DISTINCT p.id, p.title, p.descr, p.tags FROM pdata p WHERE MATCH (p.title, p.tags, p.descr) AGAINST ('sport')
请告诉我一些文章或一些提示和技巧,我可以使用它们来提供良好的搜索功能。
最佳答案
...MATCH (p.title, p.tags, p.descr) AGAINST ('sport*' IN BOOLEAN MODE)
可能会成功。
编辑,MySQL documentation是解决此类问题的绝佳资源! :)
关于MySQL 全文搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/796427/