littlebot
Published on 2025-04-17 / 0 Visits
0

【源码】基于SQLite FTS5扩展的中文拼音全文检索系统

项目简介

本项目是基于SQLite FTS5扩展构建的全文检索系统,针对中文和拼音搜索做了优化。支持中文与拼音的分词,具备高效搜索能力,可在C++、Python、Go、iOS和Rust等多种编程语言和平台使用。

项目的主要特性和功能

  1. 支持中文和拼音分词,可通过开关控制是否支持拼音。
  2. 提供 simple_query() 函数自动组装match query,无需学习FTS5查询语法。
  3. 提供 simple_highlight() 函数,连续高亮匹配词汇,提升用户体验。
  4. 提供 simple_highlight_pos() 函数,返回匹配词汇位置,方便用户自主处理。
  5. 提供 simple_snippet() 函数,截取匹配片段,增强连续匹配词汇的分组逻辑。
  6. 利用 jieba_query()cppjieba 实现更精准的词组匹配。
  7. 提供C++、Python、Go、iOS和Rust等多种语言的示例代码,便于开发者集成。

安装使用步骤

假设用户已下载本项目的源码文件,按以下步骤操作:

1. 下载并编译插件

shell mkdir build cd build cmake .. make -j 12 make install

2. 加载插件并创建虚拟表

在SQLite中加载编译好的插件,并创建虚拟表: sql .load libsimple CREATE VIRTUAL TABLE t1 USING fts5(text, tokenize = 'simple');

3. 插入数据并进行查询

插入数据并使用 simple_query()jieba_query() 进行查询: sql INSERT INTO t1 VALUES ('中华人民共和国国歌'); SELECT simple_highlight(t1, 0, '[', ']') AS text FROM t1 WHERE text MATCH simple_query('中华国歌');

4. 运行示例代码

参考项目中的 examples 目录,运行相应的示例代码,例如: - C++:参考 examples/cpp/main.cc - Python:参考 examples/python3/db_connector.py - Go:参考 examples/go/main.go

5. 在iOS中使用

待补充相关步骤。

6. 在Rust中使用

待补充相关步骤。

通过以上步骤,可快速集成和使用本项目提供的全文检索功能。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】