全文本搜索:

前提:MyISAM 支持,InnoDB不支持

理解:

(LIKE关键字,正则表达式 也是全文本搜索

缺点:性能,明确控制,智能化

)

Mysql创建表时,指定列中各词的一个索引,搜索可以针对这些词进行,

可以快速有效的决定哪些词匹配(哪些行包含它们),哪些词不匹配等等

全文本搜索使用

必须索引被搜索的列,而且要随着数据的改变不断重新索引,在对表列进行适当设计后,Mysql会自动进行所有的索引和重新索引

索引之后,可以SELECT 与 Match() Against()执行搜索

启动全文本搜索支持

Mysql基础(4)_第1张图片
Mysql基础(4)_第2张图片

这里是对note_text索引,(单个列的索引)

进行全文本搜索

Match()指定被搜索的列,Against()指定要使用的搜索表达式

Mysql基础(4)_第3张图片
Mysql基础(4)_第4张图片
Mysql基础(4)_第5张图片

Match(note_text)指示Mysql针对指定的列进行搜索,Against(‘rabbit’)指定词作为搜索文本,有两行被返回

Mysql基础(4)_第6张图片
Mysql基础(4)_第7张图片

Mysql基础(4)_第8张图片
Mysql基础(4)_第9张图片
Mysql基础(4)_第10张图片

查询拓展

Mysql基础(4)_第11张图片
Mysql基础(4)_第12张图片

定义:一开始,基本全文本搜索,接着,根据 搜索出来的结果,根据文本中的每一个关键字 再进行搜索,将包含的结果都输出出来。

极大的扩展了行数,表中的行越多,使用查询扩展返回的结果就越好。

Mysql基础(4)_第13张图片
Mysql基础(4)_第14张图片
Mysql基础(4)_第15张图片
Mysql基础(4)_第16张图片
Mysql基础(4)_第17张图片

布尔文本搜索

Mysql基础(4)_第18张图片
Mysql基础(4)_第19张图片
Mysql基础(4)_第20张图片
Mysql基础(4)_第21张图片

Mysql基础(4)_第22张图片
Mysql基础(4)_第23张图片

Mysql基础(4)_第24张图片
Mysql基础(4)_第25张图片
Mysql基础(4)_第26张图片
Mysql基础(4)_第27张图片