全文本搜索
- MyISAM支持全文本搜索
-
为什么使用全文本搜索?
性能
- 明确控制——使用表达式和通配符很难明确控制匹配什么和不匹配什么
更加智能化——用like不会区别包含单个匹配的行和包含多个匹配的行
使用全文本搜索
启用全文本搜索支持
一般在创建时启用全文本搜索
FULLTEXT语句
FULLTEXT(note_text)表示对note_text进行索引
增减删除行时索引会自动更新进行全文本搜索
使用Match()和Against()
Match()指定搜索的列
- Against()指定搜索的表达式
SELECT note_text FROM productnotes WHERE MATCH(note_text) AGAINST (‘rabbit’)
注意
Match()的值必须与FULLTEXT列出的相同
全文本搜索很重要的一点就是会对结果进行排序,具有较高等级的行先返回
SELECT note_text ,MATCH(note_text) AGAINST (‘rabbit’) AS rank FROM productnotes
使用查询扩展
WITH QUERY EXPANSION
查询扩展的过程
