【发布时间】:2021-05-13 01:52:52
【问题描述】:
使用 PHP 和数据库,我有一个简单的搜索查询语句:
SELECT * FROM products WHERE LOWER(product_title) LIKE '%$search%';
例如产品标题:“红苹果树”
例如搜索 1: '
红苹果
成功输出标题
例如搜索 2:
'红树'
不输出任何东西,但单词在标题中。
这其中的问题在哪里?
【问题讨论】:
-
LIKE查找完全匹配。听起来您想要全文搜索。在您正在使用的数据库中查看该功能的文档。 -
是的,我搜索了全文搜索,但是关于这个的内容太多了。我专门使用 phpMyAdmin
-
phpMyAdmin 不是数据库,它是访问 mysql 的 UI。从dev.mysql.com/doc/refman/8.0/en/fulltext-search.html开始
-
当然,它们在表中,但是'%Red Apples Tree%'意味着在乞讨中和'tree'这个词之后可以出现其他词,所以它适用于'gold红苹果树”或“小红苹果树”,但不适用于“红橙苹果树”
-
“我搜索了全文搜索,但内容太多了” - 还有?仅仅因为一个主题可能有点复杂,并不能免除你首先去尝试正确阅读它的责任。
标签: mysql search full-text-search full-text-indexing