Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1563|回复: 0
打印 上一主题 下一主题

SQLite中使用全文搜索FTS

[复制链接]

1265

主题

2054

帖子

7899

积分

认证用户组

Rank: 5Rank: 5

积分
7899
跳转到指定楼层
楼主
发表于 2021-3-12 16:32:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
SQLite中使用全文搜索FTS

SQLite支持全文搜索。通过全文搜索功能,可以方便用户快速进行查找。在iOS中,GRDB、FMDB等SQLite框架均支持FTS技术,如FTS3、FTS4等。各个框架语法不同,但是操作方式相同。在使用的时候,都需要根据目标(记录集或者表)建立对应的虚拟表。SQLite会读取对应的数据,进行分词,组成一个B树。为了存储B树,会构建三个真实表。这三个表均以虚拟表的名字为前缀,并分别以_content、_segments、_segdir。下面依次介绍这三个表:

后缀为_content的表保存真实的数据内容。每条记录都有docid和docment两列构成。其中,docid是记录编号。document保存具体的内容。每个document都是一个B树。

后缀为_segments的表保存B树的非根节点。每个记录都包括blockid和block两列。

后缀为_segdir的表只保存B树的根节点。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-11-1 09:28 , Processed in 0.057696 second(s), 19 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表