这个问题与全文搜索在搜索确切标题时不起作用有关
我正在尝试学习如何有效地搜索数据库,并且遇到了 FULLTEXT 搜索,这似乎是最好的选择。在这一点上,我的表仍然很小,因为我还没有收集到很多数据。我有这个可以搜索表的 sql 代码
SELECT * FROM table WHERE MATCH(title) AGAINST ('hamlet') LIMIT 30;
但由于只有一行,它什么也没返回。有什么解决方法,允许查询返回信息?
谢谢
这个问题与全文搜索在搜索确切标题时不起作用有关
我正在尝试学习如何有效地搜索数据库,并且遇到了 FULLTEXT 搜索,这似乎是最好的选择。在这一点上,我的表仍然很小,因为我还没有收集到很多数据。我有这个可以搜索表的 sql 代码
SELECT * FROM table WHERE MATCH(title) AGAINST ('hamlet') LIMIT 30;
但由于只有一行,它什么也没返回。有什么解决方法,允许查询返回信息?
谢谢
这就是我所做的:
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');