ySQL 4.x以上提供了全文检索支持 MATCH ……AGAINST 模式(不区分大小写)
前提:建立全文索引的表的存储引擎类型必须为MyISAM
新建一个utf8 MyISAM类型的表并建立一个全文索引 :
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
body TEXT,
FULLTEXT (title,body)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4
其中FULLTEXT(title, body) 给title和body这两列建立全文索引,之后检索的时候注意必须同时指定这两列。
全文检索语法
+ 表示AND,即必须包含。- 表示NOT,即不包含。
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+apple -banana' IN BOOLEAN MODE);
apple和banana之间是空格,空格表示OR,即至少包含apple、banana中的一个。
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('apple banana' IN BOOLEAN MODE);









网友评论