php - MySQL 按所有字段的相关性进行搜索

标签 php mysql sql

我确信这是可能的,但我认为编写起来可能非常复杂。我想通过以下方式搜索每个字段:

='SearchTerm' 然后 喜欢 %SearchTerm 然后 像SearchTerm% 最后 如 %SearchTerm%。我想在表中大约有 30 或 40 个字段上运行此操作。是否有一种简单的方法可以在多个字段上运行此操作,或者我必须声明每个字段?

我想我之前见过一个查询,其中%query%query%等之间的不同匹配通过分配整数值然后按此排序来排名。对于这样的查询可能吗?

非常感谢任何正确方向的建议和帮助。

最佳答案

您应该对要搜索的字段使用全文索引,并使用 MATCH AGAINST 而不是 LIKE %%。它速度更快,并且根据相关性返回结果。更多信息请参见:

Mysql match...against vs. simple like "%term%"

关于php - MySQL 按所有字段的相关性进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20980081/

相关文章:

Javascript 添加选项值

php - Mysql 在 html 表中返回重复项

java - 将没有主键的 SQL View 映射到 JPA 实体

php - Ruby/Rails 是否需要比 PHP 应用程序更多的单元测试?

php - 使用 AJAX 从 SQL 数据库更新存储在 $_SESSION 数据中的用户配置文件

php - 确定一个字符串是否是一个有效的地理位置

mysql - 当列名是动态的时,如何从触发器更新表?

mysql - 如何导出mysql数据库

MySQL 查询结果返回意外数据

mysql - 寻找大表查询的优化