我已经设置了全文搜索来监听MySQL中我的博客文章表的标题和描述列。我用来搜索表的SQL如下:
SELECT title,description,publish_date FROM table WHERE MATCH(title,description)AGAINST('cats','dogs')ORDER BY publish_date DESC LIMIT 100
这适用于'狗'和'猫'),但当我使用单数('狗'或'猫')时,我发现没有结果。不知道为什么会这样,我尝试了不同的变化,如“+ dog,+ cat”,并尝试包括IN BOOLEAN MODE ......没有任何作用。是的我确信描述栏中还有其他词语是“dog”和“cat”以及它们的复数版本。
如何使用单数词来使用MySQL?
答案 0 :(得分:2)
全文搜索的default minimum word length为4个字符。
您需要在服务器配置中更改它。有关如何操作的一些信息,请参见h ere。
答案 1 :(得分:0)
为什么不尝试这样的事情:
SELECT title,description,publish_date, MATCH(title,description) AGAINST('search') AS score FROM table WHERE MATCH(title,description) AGAINST('seacrh') ORDER BY score LIMIT 100;
也许这会有所帮助,但不能用一个词来完成任务