FULLTEXT SEARCH不工作mysql

时间:2015-01-10 22:10:42

标签: mysql full-text-search

所以当我尝试使用

时出现错误
SELECT views, keywords, title, url, thumbnail, 
       MATCH(keywords,title) AGAINST ('%$search_value%') AS relevance 
  FROM straight 
 WHERE MATCH (keywords,title) AGAINST ('%$search_value%') 
 ORDER BY relevance DESC

这是因为我没有启用FULLtext搜索,但我似乎无法启用它。当我运行下面的SQL时:

ALTER TABLE straight ADD FULLTEXT(keywords, title)

我得到了这个回复:

MySQL returned an empty result set (i.e. zero rows). (Query took 3.8022 sec)

然后当我再次尝试运行第一个查询时,我得到了失败的

#1191 - Can't find FULLTEXT index matching the column list

我不知道为什么它没有注册。任何帮助都会很棒。 谢谢!

编辑:

我的表格:

CREATE TABLE `straight` (
  `url` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
  `title` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
  `keywords` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
  `production` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
  `categories` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
  `views` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
  `likes` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
  `length` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL,
  `thumbnail` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
  `date` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL,
  UNIQUE KEY `url` (`url`),
  FULLTEXT KEY `url_2` (`url`,`title`,`keywords`,`production`,
         `categories`,`views`,`likes`,`length`,`thumbnail`,`date`
), ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

1 个答案:

答案 0 :(得分:0)

您需要一个完全匹配您要搜索的列的FULLTEXT索引。您拥有的FULLTEXT索引的列数多于您所需的列数。

尝试添加你提到的那个。

ALTER TABLE straight ADD FULLTEXT(keywords, title)

然后查看表格定义并确保它在那里。