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。

标签:工具分享