MySQL全文索引
新建全文索引
-- title content
alter table `t_article` add fulltext index fulltext_title_content(`title`,`content`) WITH PARSER ngram;
中文全文索引
MySQL 5.7.6之前 全文索引只支持英文全文索引
MySQL 5.7.6开始 MySQL内置了ngram全文解析器 用来支持中文,日文,韩文进行分词
全文检索模式
相关性越高 排序就越在前面
-- + RDBMS 必须存在 - MySQL必须不存在
select * from full_text
where
match(content) against( '+RDBMS -MySQL' IN BOOLEAN MODE);
-- 包含Database的要比不包含Database的记录的 相关性更低
select * from full_text
where
match(content) against( '+MySQL ~Database' IN BOOLEAN MODE);
-- 包含123456的行要比包含Database 相关性高
select * from full_text
where
match(content ) against('+MySQL +(>123456<Database)' IN BOOLEAN MODE);
-- 查询包含以1开头的单词的记录,如apple、apples、applet。
select * from full_text
where
match(content ) against('appl*' IN BOOLEAN MODE);

浙公网安备 33010602011771号