MATCH (col1,col2,...) AGAINST (expr [search_modifier])
search_modifier:
{
IN NATURAL LANGUAGE MODE
| IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION
| IN BOOLEAN MODE
| WITH QUERY EXPANSION
}
MySQL支持全文索引和搜索:
1、MySQL中的全文索引是FULLTEXT类型的索引。
2、全文索引只能用于InnoDB或MyISAM表,并且只能为CHAR、VARCHAR或text列创建。
3、MySQL提供了一个支持中文、日文和韩文(CJK)的内置全文ngram解析器,以及一个可安装的MeCab日文全文解析器插件。
4、创建表时,可以在CREATE TABLE语句中给出全文索引定义,或者稍后使用ALTER TABLE或CREATE INDEX添加。
5、对于大型数据集,将数据加载到没有FULLTEXT索引的表中,然后在此之后创建索引要比将数据加载到具有现有FULLTEXT索引的表中快得多。
使用MATCH() ... AGAINST语法执行全文搜索 。 MATCH()以逗号分隔的列表要搜索的列。 AGAINST接受要搜索的字符串和可选修饰符,该修饰符指示要执行的搜索类型。搜索字符串必须是在查询评估期间恒定的字符串值。例如,这排除了表列,因为每行的表列可能不同。
全文搜索分为三种:
1、自然语言搜索将搜索字符串解释为自然人类语言中的短语(自由文本中的短语)。除双引号(“)字符外,没有特殊的运算符。适用停用词列表。
2、如果指定了IN NAT