如何使用FULLTEXT搜索返回所有字段?

时间:2013-02-10 18:44:26

标签: mysql

此问题与Fulltext search not working when searching the exact title

有关

我正在努力学习如何有效地搜索数据库,并且遇到了似乎是最佳选择的FULLTEXT搜索。此时我的表格仍然很小,因为我还没有收集到大量数据。我有这个搜索表的SQL代码

SELECT * FROM table WHERE MATCH(title) AGAINST ('hamlet') LIMIT 30;

但由于只有一行,所以没有返回任何内容。允许查询返回信息会有什么变通方法?

谢谢

1 个答案:

答案 0 :(得分:1)

这就是我的所作所为:

SELECT title ,
MATCH(title) 
AGAINST ('hamlet' IN BOOLEAN MODE)
AS relevance 

FROM test 
WHERE  MATCH(title) 
AGAINST ('hamlet' IN BOOLEAN MODE) 

HAVING relevance > 0 ORDER BY relevance DESC

使用的表:

CREATE TABLE IF NOT EXISTS `test` (
  `id` tinyint(4) NOT NULL,
  `title` varchar(255) collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `name_2` (`title`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

--
-- Dumping data for table `test`
--

INSERT INTO `test` (`id`, `title`) VALUES
(2, 'hamlet');