项目简介
本项目是基于SQLite FTS5扩展构建的全文检索系统,针对中文和拼音搜索做了优化。支持中文与拼音的分词,具备高效搜索能力,可在C++、Python、Go、iOS和Rust等多种编程语言和平台使用。
项目的主要特性和功能
- 支持中文和拼音分词,可通过开关控制是否支持拼音。
- 提供
simple_query()
函数自动组装match query,无需学习FTS5查询语法。 - 提供
simple_highlight()
函数,连续高亮匹配词汇,提升用户体验。 - 提供
simple_highlight_pos()
函数,返回匹配词汇位置,方便用户自主处理。 - 提供
simple_snippet()
函数,截取匹配片段,增强连续匹配词汇的分组逻辑。 - 利用
jieba_query()
及cppjieba
实现更精准的词组匹配。 - 提供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】