有些原因,mysql匹配找不到任何东西。我有这样的表:
CREATE TABLE IF NOT EXISTS `phrases` (
`question` varchar(250) CHARACTER SET utf8 NOT NULL,
`answer` text NOT NULL,
FULLTEXT KEY `question` (`question`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
INSERT INTO `phrases` (`question`, `answer`) VALUES
('Hello Hello', 'Hello'),
('Hi', 'Hello'),
('Hola', 'Hello');
当我尝试时:
select match(question) against('Hello') from phrases
结果为零。但有趣的是,如果我试试这个:
select match(question) against('Hola') from phrases
问题'Hola'
给出了0.6852666139602661答案 0 :(得分:1)
这是因为mysql全文搜索有一个停用词列表https://dev.mysql.com/doc/refman/5.5/en/fulltext-stopwords.html
包含一些将被忽略的常用词。因此,Hello
如果你想禁用它,请关注myisam引擎ignoring mysql fulltext stopwords in query