【MySQL必知必会】第18章 全文本搜索(学习笔记)

理解全文本搜索

两个最常使用的引擎为MyISAM和InnoDB,前者支持全文本搜索,而后者不支持

使用全文本搜索

create table notes(

note_id int not null auto_increment primary key,

note_text text null,

fulltext(note_text)

)engine = MyISAM;

进行全文本搜索

select note_text from notes where match(note_text) against('rabbit');

全文本搜索的一个重要部分就是对结果排序,具有较高等级的行先返回

使用查询扩展

select note_text from notes where match(note_text) against('rabbit' with query expansion);

布尔文本搜索,将上方with query expansion换为in boolean mode

rabbit前用-表示不包含,+表示包含

使用说明

  1. 许多词出现频率很高,搜索它没有用处,MySQL规定了一条50%规则,如果一个词出现在50%以上的行中,则将它作为一个非用词忽略
  2. 如果表中的行数少于3行,则全文本搜索不返回结果
  3. 忽略词中的单引号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值