Tantivy Search Library

Tantivy Search Library
软件描述
它在本质上更接近 Apache Lucene,而非 Elasticsearch 或 Apache Solr,因为它并非现成的搜索引擎服务器,而是一个可用于构建此类搜索引擎的库。
官方网站
访问软件的官方网站了解更多信息
github.com
什么是 Tantivy Search Library?
它在本质上更接近 Apache Lucene,而非 Elasticsearch 或 Apache Solr,因为它并非开箱即用的搜索引擎服务器,而是一个可用于构建此类搜索引擎的库。
事实上,Tantivy 的设计深受 Lucene 的启发。
使用 Tantivy 的方式多种多样:可通过 WASM 文件在浏览器中运行;对 Ruby 用户而言,有 Tantiny 提供了 Tantivy 的 Ruby 绑定;此外,也可通过 Tantivy-Py 仓库安装 Python 绑定。
Tantivy 的特性包括但不限于:
全文搜索
可配置分词器(支持 17 种拉丁语系的词干提取,中文由第三方支持如 tantivy-jieba 和 cang-jie,日文支持 lindera、Vaporetto 和 tantivy-tokenizer-tiny-segmenter,韩文支持 lindera + lindera-ko-dic-builder)
高速性能(参见 🐎 性能测试 🐎)
极低启动时间(<10ms),非常适合命令行工具
BM25 评分(与 Lucene 相同)
自然查询语言(例如 (michael AND jackson) OR "king of pop")
短语查询搜索(例如 "michael jackson")
增量索引
多线程索引(在我的桌面电脑上索引英文维基百科耗时 <3 分钟)
内存映射目录
当平台/CPU 支持 SSE2 指令集时启用 SIMD 整数压缩
单值和多值 u64、i64、f64 快速字段(相当于 Lucene 中的 doc values)
&[u8] 快速字段
文本、i64、u64、f64、日期及层级分类字段
LZ4 压缩文档存储
范围查询
分类搜索
可配置索引(可选词频和位置索引)
JSON 字段
聚合收集器:范围桶、平均值及统计指标
带删除操作的日志合并策略(LogMergePolicy)
搜索器预热 API
带有马图案的俏皮 Logo(显然这是个绝妙的功能)
不包含的特性包括:
分布式搜索不在 Tantivy 的设计范围内,但若您需要此功能,可查看 Quickwit —— 这是我们基于 Tantivy 构建的搜索引擎。
欢迎访问我们的 GitHub 仓库开始使用!
