首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏大前端修炼手册

    SQLite全文搜索引擎:实现原理、应用实践和版本差异

    三、FTS3、FTS4和FTS5的区别 FTS3、FTS4和FTS5都是SQLite的全文搜索(Full-Text Search)引擎,用于实现高效的全文搜索功能。 3.1 FTS3 FTS3是SQLite的第一个全文搜索引擎,提供基本的全文搜索功能。它支持倒排索引(Inverted Index)和多种分词器(Tokenizer)。 FTS3虚拟表可以与普通表关联,以便在全文搜索时获取相关记录的详细信息。FTS3引擎支持基本的全文搜索查询,如MATCH操作符和布尔操作符(AND、OR和NOT)。 3.2 FTS4 FTS4在FTS3的基础上进行了改进,增加了一些新功能。 以下示例说明了如何从FTS4升级到FTS5,但这些步骤也适用于从FTS3升级到FTS4或FTS5。

    2.8K10编辑于 2024-07-23
  • 来自专栏腾讯开源的专栏

    【开源公告】WCDB(WeChat Database)于6月9日正式对外开源

    SQLCipher的数据库加密 使用连接池实现并发读写 内建 Repair Kit 可用于修复损坏数据库 针对占用空间大小优化的数据库备份/恢复功能 日志输出重定向以及性能跟踪接口 内建用于全文搜索的 mmicu FTS3

    1.6K50发布于 2018-03-02
  • 来自专栏普通程序员

    IM移动端怎么搜索本地聊天记录

    Lucene 3.0 原理与代码分析完整版》 三、具体怎么做 目前大量的移动端(android,ios)都使用sqlite作为数据库,sqlite中支持fts表(full-text search的简称,有fts3

    2.5K40发布于 2019-10-23
  • 来自专栏微信终端开发团队的专栏

    iOS微信全文搜索技术优化

    这些搜索功能从2014年上线至今,已经多年没有更新底层搜索技术,聊天记录使用的全文搜索引擎还是SQLite FTS3,而现在已经有SQLite FTS5,收藏首页的搜索还是使用简单的Like语句去匹配文本 SQLite的FTS3和FTS4组件则是属于SQLite的旧版本引擎,官方维护不多了,而且这两个版本都是将一个词的索引存到一条记录中,极端情况下有超出SQLite单条记录最大长度限制的风险。 SQLite FTS3和FTS5的大部分性能很接近,FTS5索引的生成耗时比FTS3高一截,这个有优化方法。 综合考虑这些因素,我们选择SQLite FTS5作为iOS微信全文搜索的搜索引擎。 为了简化客户端逻辑和避免用户漏输内容时搜不到的问题,iOS微信之前的FTS3分词器OneOrBinaryTokenizer是采用了一种巧妙的按字分词算法,除了对输入内容逐字建索引,还会对内容中每两个连续的字建索引

    3K60编辑于 2022-02-23
  • 来自专栏量子位

    SQLite大漏洞!所有Chromium浏览器中招,安卓iOS应用也受殃及

    另外,如暂时没有条件采用官方提供的修补方案,也有一些应急建议方案: 1)关闭SQLite中的fts3功能; 2)禁用WebSQL:编译时不编译third-party的sqlite组件。

    1.1K40发布于 2019-04-24
  • 来自专栏非著名程序员

    微信技术团队的又一力作,WCDB 简单易用的数据库框架

    SQLCipher的数据库加密 使用连接池实现并发读写 内建 Repair Kit 可用于修复损坏数据库 针对占用空间大小优化的数据库备份/恢复功能 日志输出重定向以及性能跟踪接口 内建用于全文搜索的 mmicu FTS3

    2.1K70发布于 2018-02-09
  • 来自专栏【腾讯云开发者】

    微信全文搜索耗时降94%?我们用了这种方案

    这些搜索功能多年没有更新底层搜索技术,聊天记录使用的全文搜索引擎还是 SQLite FTS3,而现在已经有 SQLite FTS5;收藏首页的搜索还是使用简单的 Like 语句来匹配文本;联系人搜索甚至用的是内存搜索 SQLite 的 FTS3 和 FTS4 组件则是属于 SQLite 的旧版本引擎,官方维护不多,而且这两个版本都是将一个词的索引存到一条记录中,极端情况下有超出 SQLite 单条记录最大长度限制的风险 SQLite FTS3 和 FTS5 的大部分性能很接近,FTS5 索引的生成耗时比 FTS3 高一截,但这个有优化方法。 为了简化客户端逻辑、避免用户漏输内容时搜不到,IOS 微信之前的 FTS3 分词器 OneOrBinaryTokenizer 采用了一种巧妙的按字分词算法:除了对输入内容逐字建索引,还会对内容中每两个连续的字建索引

    4.5K62编辑于 2023-02-21
  • 来自专栏微信终端开发团队的专栏

    微信移动端数据库组件 WCDB 系列:Android 特性篇(四)

    全文搜索分词器与动态 ICU 加载 WCDB Android 自带了一个 FTS3/4 分词器,名为 mmicu,用于实现 SQLite 全文搜索。

    5.4K00发布于 2017-07-25
  • 来自专栏用户8644135的专栏

    SQLite 语法

    database_name.table_name USING weblog( access.log ); or CREATE VIRTUAL TABLE database_name.table_name USING fts3

    1.6K50发布于 2021-07-02
  • 来自专栏微信终端开发团队的专栏

    微信全文搜索优化之路

    FTS3:基础版本,具有完整的FTS特性,支持自定义分词器,库函数包括Offsets,Snippet。 FTS4:在FTS3的基础上,性能有较大优化,增加相关性函数计算MatchInfo。

    10.1K43发布于 2017-10-19
  • 来自专栏微信终端开发团队的专栏

    微信全文搜索优化之路

    FTS3:基础版本,具有完整的FTS特性,支持自定义分词器,库函数包括Offsets,Snippet。 FTS4:在FTS3的基础上,性能有较大优化,增加相关性函数计算MatchInfo。

    2.7K20编辑于 2023-02-20
  • 来自专栏王也

    SQLite数据库教程--Keep Learning系列

    database_name.table_name USING weblog( access.log ); or CREATE VIRTUAL TABLE database_name.table_name USING fts3

    1.2K20编辑于 2022-10-26
  • 来自专栏program

    Jetpack组件之Room

    Room支持全文搜索,通过使用@Fts3(仅在应用程序具有严格的磁盘空间要求或需要与较旧的SQLite版本兼容时使用)或@Fts4添加到Entity来实现。Room版本须高于2.1.0。

    2.6K20编辑于 2022-06-29
  • 来自专栏浅枫沐雪

    sqllite入门笔记

    database_name.table_name USING weblog( access.log ); or CREATE VIRTUAL TABLE database_name.table_name USING fts3

    4.1K41发布于 2020-03-11
领券