Tantivy是一个受Apache Lucene启发、用Rust编写的全文搜索引擎库。
作者:Sec-Labs | 发布时间:
项目介绍
Tantivy 是一个 的全文搜索引擎库。 用 Rust 编写
它更接近 Apache Lucene 相比, 与Elasticsearch 或 Apache Solr ,但实际上并非如此。 一个现成的搜索引擎服务器,而是一个可以使用的板条箱 建立这样一个搜索引擎。
事实上,Tantivy 深受 Lucene 设计的启发。
如果您正在寻找 Elasticsearch 或 Apache Solr 的替代品,请查看 Quickwit ,这是我们基于 Tantivy 构建的搜索引擎。
项目地址
https://github.com/quickwit-oss/tantivy
基准
以下 基准 细分 不同类型查询/集合的性能。
您的里程将根据查询的性质及其负载而有所不同。
特征
- 全文搜索
- 可配置的分词器(词干可用于 17 种拉丁语言,第三方支持中文( tantivy-jieba 和 cang-jie )、日语( lindera 、 Vaporetto 和 tantivy-tokenizer-tiny-segmenter )和韩语( lindera + lindera-ko-dic -建造者 )
- 快速(查看 🐎 ✨ 基准 ✨ 🐎 )
- 极短的启动时间(<10ms),非常适合命令行工具
- BM25 评分(与 Lucene 相同)
- 自然查询语言(例如
(michael AND jackson) OR "king of pop") - 短语查询搜索(例如
"michael jackson") - 增量索引
- 多线程索引(在我的桌面上索引英语维基百科需要 < 3 分钟)
- 映射目录
- 平台/CPU 包含 SSE2 指令集时的 SIMD 整数压缩
- 单值和多值 u64、i64 和 f64 快速字段(相当于 Lucene 中的 doc 值)
&[u8]快速领域- 文本、i64、u64、f64、日期和分层构面字段
- LZ4压缩文件存储
- 范围查询
- 分面搜索
- 可配置的索引(可选的词频和位置索引)
- JSON 字段
- 聚合收集器:范围桶、平均值和统计指标
- 带删除的 LogMergePolicy
- Searcher Warmer API
- 带有马的俗气标志
非特征
分布式搜索超出了 Tantivy 的范围,但如果您正在寻找此功能,请查看 Quickwit 。
入门
Tantivy 在稳定的 Rust 上工作,并支持 Linux、macOS 和 Windows。
- Tantivy 的简单搜索示例
- tantivy-cli 及其教程 -
tantivy-cli是一个实际的命令行界面,可让您轻松创建搜索引擎, 索引文档,并通过 CLI 或带有 REST API 的小型服务器进行搜索。 它会引导您在几分钟内启动并运行 Wikipedia 搜索引擎。 - 上次发布版本的参考文档
标签:工具分享
