← 文档
混合检索(BM25 + 向量)
知识库内的搜索同时跑两套索引——词法(Tantivy/BM25)和语义(向量嵌入)——再用 Reciprocal Rank Fusion 融合。单独用任何一套都会漏;合在一起能覆盖大多数查询。
用法
返回的是按融合分数排序的片段(一般以 H2 为界),含摘要和源文件路径。
两套索引
词法索引
—— Tantivy BM25 分词器,擅长精确匹配、人名、代码
向量索引
—— fastembed(在 embed feature 后面)。存在普通 SQLite 的 cosine 表里,无需原生向量扩展。
RRF 融合
Reciprocal Rank Fusion 不需要校准两套分数——只信任名次。这让它在切换向量模型(分布完全不同)时依然稳定。
索引
watcher 在每次保存时增量重建索引。要强制全量重建:mddock reindex。