#2932·tantivy

性能较慢且有许多小分段

作者: ColonelThirtyTwo创建于 2026年5月15日更新于 2026年7月10日

我正在使用 Tantivy 与 SQLite 数据库一起使用,以增强其全文搜索功能(更好)。当应用程序修改数据库中的一条记录时,它会创建一个新的索引写入器,并在 Tantivy 索引中发出相应的 `delete_term` 和 `add_document` 指令,然后提交并删除写入器。 在使用了一段时间后,虽然 SQLite 数据库只有 93 兆字节,但 Tantivy 索引最终包含 2 千个独立的分段,平均为 ~26KB/分段,从 ZFS 磁盘上的冷缓存加载需要几秒钟。 删除索引并从数据库中的数据重新创建索引后,我可以将其缩减到 15 个分段,每个约 1MB,但这不是我经常要应用的解决方案。 我没有为索引写入器应用任何自定义选项,而且它应该使用默认的合并器。 #194 也提到了这个问题,但已经开放很长时间了。

内容来源: quickwit-oss/tantivy