我想像下面的查询一样搜索,但它在 MySQL 中不起作用
SELECT * FROM products WHERE MATCH (title,description)
AGAINST ('test' IN BOOLEAN MODE);
我想要下面的输出
testproduct, producttest
有人可以帮我解决这个问题吗?
最佳答案
目前只支持前缀,不支持后缀:
SELECT * FROM products WHERE MATCH (title,description)
AGAINST ('test*' IN BOOLEAN MODE);
http://dev.mysql.com/doc/refman/4.1/en/fulltext-boolean.html
顺便提一下,当网站请求量大时,MySQL全文搜索会成为瓶颈,而对于一些特殊的搜索词,它很容易受到攻击且不稳定,因此经常会导致查询缓慢和数据库崩溃。尽快使用 Elastic Search。
关于mysql部分词搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21682506/