奇异词和MySQL全文搜索的问题

时间:2012-03-04 18:37:23

标签: mysql full-text-search

我已经设置了全文搜索来监听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?

2 个答案:

答案 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;

也许这会有所帮助,但不能用一个词来完成任务