MySQL 全文搜索?

标签 mysql database search full-text-search

我正在研究我网站的搜索功能。我想为用户提供最好的搜索机制。我正在使用 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/

相关文章:

database - 在文件系统中存储图片时,使用相对路径还是绝对路径?

mysql - 搜索查询的搜索性能问题

php - 无法从 PHP 脚本将数据插入 MySQL

mysql - Eloquent 中的 IN 语句

php - MAMP:从 5.5 升级到 5.7 后无法启动 MySQL

php - 为什么mysql查询需要很长时间才能收到结果?

mysql - 在mysql中获取维基百科数据库?

database - 检查 ADOTable 字段值的问题

html - 使用301,302重定向时,搜索引擎是抓取源页面还是目标页面?

csv - 使用 csv 文件进行 Hive 搜索