开源搜索数据库,支持全文、向量与混合检索,支持实时索引和 SQL,可作为 Elasticsearch 的替代方案。
quickwit-oss/tantivy
一个用 Rust 编写、受 Apache Lucene 启发的全文搜索引擎库,用于在应用中构建搜索功能。
- Star
- 16,247
- Fork
- 1,017
- 未关闭 Issue
- 484
- 最近提交
- 21小时前
这是什么?
Tantivy 是一个 Rust crate,用于在自己的软件中构建全文搜索功能。它不是开箱即用的搜索服务器,开发者通过其 API 定义 schema、索引文档并执行查询。设计上与 Apache Lucene 高度相似,排序使用与 Lucene 相同的 BM25 评分。
库内包含常见的搜索组件:可配置的分词器,支持 17 种拉丁语系语言的词干提取;短语查询、范围查询、支持 AND/OR 的自然查询语法以及分面搜索。字段类型包括文本、整数、浮点数、日期、IP、布尔值和 JSON,快速字段的作用类似 Lucene 的 doc values。文档存储支持 LZ4、Zstd 或不压缩,聚合收集器提供直方图、范围分桶和基础统计。
支持增量索引和多线程索引,启动时间小于 10 毫秒,适合命令行工具。中文和日文分词可通过第三方分词器 crate 接入。可在 Linux、macOS 和 Windows 上使用稳定版 Rust 编译运行。
核心功能
- 01采用与 Lucene 相同的 BM25 评分排序
- 02可配置分词器,支持 17 种拉丁语系语言的词干提取
- 03支持短语查询、范围查询和自然语言布尔查询
- 04支持增量索引和多线程索引
- 05提供快速字段、分面搜索和聚合统计
- 06文档存储支持 LZ4、Zstd 压缩或不压缩
适用场景
- 在 Rust 应用中添加全文搜索,无需单独部署搜索服务器
- 构建启动快速的命令行搜索工具
- 为邮件或消息归档建立本地检索索引
- 在需要 Lucene 式查询的服务中嵌入搜索引擎
快速上手
- 1
克隆代码仓库
git clone https://github.com/quickwit-oss/tantivy.git - 2
进入项目目录
cd tantivy - 3
使用 Cargo(稳定版 Rust)运行测试
cargo test
使用前须知
- 它是一个 Rust 库,而不是开箱即用的搜索服务器,你需要在其基础上构建自己的搜索应用。
- 分布式搜索不在其范围内,如需此功能请使用 Quickwit。
- 文档是不可变的,因此修改文档需要先删除再重新索引。
- 中文和日文分词依赖第三方 crate。
标签
常见问题
- tantivy 是什么?
- 一个用 Rust 编写、受 Apache Lucene 启发的全文搜索引擎库,用于在应用中构建搜索功能。 Tantivy 是一个 Rust crate,用于在自己的软件中构建全文搜索功能。它不是开箱即用的搜索服务器,开发者通过其 API 定义 schema、索引文档并执行查询。设计上与 Apache Lucene 高度相似,排序使用与 Lucene 相同的 BM25 评分。
- tantivy 可以免费使用吗?用的什么许可证?
- tantivy 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- tantivy 还在维护吗?
- 活跃维护中。tantivy 最近一次提交是在 2026年10月21日。
- tantivy 适合用来做什么?
- 在 Rust 应用中添加全文搜索,无需单独部署搜索服务器 构建启动快速的命令行搜索工具 为邮件或消息归档建立本地检索索引 在需要 Lucene 式查询的服务中嵌入搜索引擎
- tantivy 怎么安装和运行?
- 克隆代码仓库: git clone https://github.com/quickwit-oss/tantivy.git 进入项目目录: cd tantivy 使用 Cargo(稳定版 Rust)运行测试: cargo test
- 在哪里获取 tantivy?
- 源代码和安装说明在 GitHub 上:https://github.com/quickwit-oss/tantivy
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用 Go 编写的轻量全文搜索引擎,单个二进制文件即可运行,是 Elasticsearch 的低资源替代方案。
用 Java 编写的高性能、功能完整的全文搜索引擎库,可作为构建搜索应用的基础。
为 Redis 数据提供全文检索、二级索引、向量相似度搜索和聚合查询的查询引擎模块。
Apache Solr 是基于 Apache Lucene 构建的开源多模态搜索平台,支持全文、向量和地理空间搜索。
为 Postgres 增加全文检索、向量检索、BM25 打分和聚合分析的扩展,无需单独部署搜索引擎。