搜索与向量引擎合并路线图

2026-06-26 决策:DotSearch / DotVector 不再作为 SonnetDB 之外的独立产品线继续扩张。两者的算法、索引和分词能力已收编为 SonnetDB.Core 内部引擎;面向 Microsoft.Extensions.VectorData 的 SonnetDB 适配已迁移到 SonnetDB.Data

1. 目标

SonnetDB 对外只保留一套数据库体验:

SonnetDB SQL / ADO.NET / HTTP / Studio / CLI / VS Code / Copilot
  -> SonnetDB.Core
     -> FullText internal engine
     -> Vector internal engine

全文索引和 ANN 索引仍是可重建派生数据;table、document、measurement 和 VECTOR 主数据仍由 SonnetDB catalog、WAL、Segment、Compaction、Retention、Backup 和 Restore 生命周期托管。

2. 合并范围

迁入 SonnetDB.Core

迁入 SonnetDB.Data

不迁入:

3. 阶段计划

Phase 0:决策落档

Phase 1:全文引擎并入 SonnetDB.Core

状态:已完成。

已完成:

验收:全文索引、match(...)bm25_score() 和 unicode / cjk / jieba 分词测试通过。

Phase 2:向量 indexing 并入 SonnetDB.Core

状态:primitives / indexing 合并与内部命名空间收敛已完成。

已完成:

归档边界:

验收:VECTOR(dim)knn(...)、HNSW / IVF / IVF-PQ / Vamana、SDBVIDX2 blob 与重建测试通过。

Phase 3:VectorData 迁入 SonnetDB.Data

状态:核心适配已完成。

已完成:

边界:

验收:嵌入式和远程 SndbConnection 都可通过 VectorData adapter 使用 SonnetDB。

Phase 4:删除旧模块依赖

状态:已完成。

已完成:

验收:干净 checkout 不需要拉取 DotSearch / DotVector 子模块即可 restore / build SonnetDB;发布包只包含 SonnetDB 系列包。

Phase 5:命名空间清理

状态:已完成。

已完成:

验收:当前源码和测试不再包含 DotSearch.* / DotVector.* 命名空间引用;dotnet build SonnetDB.slnx --configuration Release /warnaserrorSonnetDB.Core.Tests 通过。

4. 底线