MySQL全文不返回任何结果,但显然应该返回

MySQL全文不返回任何结果,但显然应该返回,mysql,full-text-search,full-text-indexing,Mysql,Full Text Search,Full Text Indexing,我正在尝试创建一个跨三列的全文搜索索引,但它不会返回任何结果,即使它看起来应该返回。我已使用以下结构和数据在测试表中复制了该问题: CREATE TABLE IF NOT EXISTS `testtable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `link` varchar(255) NOT NULL, `description` text NOT NULL, PRIMA

我正在尝试创建一个跨三列的全文搜索索引,但它不会返回任何结果,即使它看起来应该返回。我已使用以下结构和数据在测试表中复制了该问题:

CREATE TABLE IF NOT EXISTS `testtable` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) NOT NULL,
  `link` varchar(255) NOT NULL,
  `description` text NOT NULL,
  PRIMARY KEY (`id`),
  FULLTEXT KEY `title` (`title`,`link`,`description`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;

INSERT INTO `testtable` (`id`, `title`, `link`, `description`) VALUES
(1, 'mysql article', 'domain.com/article/1', 'This is an article about MySQL'),
(2, 'some other article', 'domain.com/article/mysql-article', 'This has mysql in the link but not the title'),
(3, 'my super mysql article', 'domain.com/mysql-link', 'the keyword is not in the description'),
(4, 'okay i''m searching for something', 'domain.com', 'and it''s not in the title or description'),
(5, 'mysql article', 'mydomain.com/mysql', 'mysql is definitely written in every field');
这是我正在使用的查询:

select * from `testtable` where MATCH(title, link, description) AGAINST('mysql')
短语mysql出现在除第4行之外的所有内容中的至少一列中,而第5行的每一列中都有短语mysql。所以至少它应该返回第5行。但是没有结果

有人能解释为什么会发生这种情况吗

出现在50%或更多行中的单词被视为常见且不匹配


这意味着,如果您查找大多数记录中包含的单词,那么它将在搜索中被忽略。

啊,这既有趣又令人困惑,例如,想象一个seo站点,有人在其中搜索seo,即使根据常识判断结果没有那么大用处,也不返回结果似乎很愚蠢。有什么方法可以避免这种情况吗?在使用
match
时,我想不出任何方法。