Mysql匹配功能

时间:2016-02-28 18:41:23

标签: mysql

有些原因,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

1 个答案:

答案 0 :(得分:1)

这是因为mysql全文搜索有一个停用词列表https://dev.mysql.com/doc/refman/5.5/en/fulltext-stopwords.html

包含一些将被忽略的常用词。因此,Hello

没有结果

如果你想禁用它,请关注myisam引擎ignoring mysql fulltext stopwords in query