rust 底层大数据之全文检索,目前rust底层大数据全文检索核心是tantivy,然后就是基于tantivy的扩充:quickwit、Toshi、Sonic等。quickwit的思路是利用tantivy的Directory抽象进行io方面(s3对象存储)的扩充,Toshi的思路是利用raft分布式协议对tantivy进行分布式部署。
huggingface开源的分词库
尝试深度使用tantivy,来进行全文检索功能,可以借鉴quickwit/Toshi的思路来做分布式扩展
Sonic是一个用Rust编写的轻量级和无模式的搜索索引服务器。Sonic不能被认为是一个开箱即用的解决方案,与MeiliSearch相比,它不能保证相关性排名。事实上,它并不存储任何文档,而是由一个带有列文斯坦自动机的倒置索引组成,这意味着任何查询Sonic的应用程序都必须使用返回的ID从外部数据库检索搜索结果,然后应用一些相关度排名。