对于刚使用mysql全文索引搜索的童鞋,第一个疑惑可能就是,为什么我搜索xx结果不显示呢?明明我数据里面有。这个问题有很多种原因,其中最常见的就是ft_min_word_len(最小搜索长度)导致的。
准备测试数据如下CREATE TABLE mysql_fulltext
(id BIGINT UNSIGNED AUTO_INCREMENT,
text_info VARCHAR(1000) NOT NULL,
PRIMARY KEY(id),
FULLTEXT(text_info)
)ENGINE=MYISAM DEFAULT CHARSET utf8 COMMENT 'mysql全文索引测试表';
INSERT INTO `mysql_fulltext`(text_info) VALUES ('a'),('b'),('c'),('aa'),('bb'),('cc'),('aaa'),('bbb'),('ccc'),('aaaa'),('bbbb'),('cccc');
使用如下语句进行搜索SELECT * FROM `mysql_fulltext` WHERE MATCH(text_info) AGAINST('a');
SELECT * FROM `mysql_fulltext` WHERE MATCH(text_info) AGAINST('aa');
SELECT * FROM `mysql_fulltext` WHERE MATCH(text_info) AGAINST('aaa');
按照我们的惯性思维ÿ