sqlite全文搜索:fts

varints: 通过变长字节表示一个int型的数值。通过每个字节的最高位来表示字节流是否接受,当最高位为1,表示字节流还没有结束,当最高位为0,表示字节流结束。总是先存低字节,再存储高字节。举个例子:

 1        --> 0x01

127    --> 0x7f

128    ---> 0x81 0x00


docment:就是一条记录,每条记录都有个docid的字段,索引就是保存这个docid,通过这个id就可以唯一定位到一个docment。


term:基本上就是一个word,可以索引的输入内容。比如 docment的内容为“i am docment”,这篇docment可以分出3个term,“i” ,“am”, “docment”。用户输入“docment”就可以找到这篇docment。


segment:b-tree中的一个节点


fts的表称为虚表,意思这个表并不是真实存在。对应每个续表,都有3张真实的表格来保存所有信息。

比如创建虚表 fts_paper,sqlite会自己创建3张对应的表:fts_paper_content, fts_paper_segdir, fts_paper_segments.

可以看出来,就是在虚表名后面加上3个不同的单词,下面讲下各个表的内容。

fts_paper_content:

包含真实的数据内容,也就是docment,一条记录就是一个docment,每条记录会强制的,自动的,添加一个docid的字段,这个字段保存了int型的整数,


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值