feat: 标准库级 API 封装(VectorEngine) — 补齐透明集成维度
背景
赛题硬性维度"透明集成(标准 API 封装)"此前为空白:系统能力只能经 CLI 使用, 上层若要集成需自行拼装 DiskVectorStore / GraphIndex / DeltaStore / PqIndex 与缓存。 本 MR 新增库级门面,让上层把系统当作一个动态向量存储引擎透明使用。
改动
- 新增
src/engine.rs:-
VectorEngine:open / insert / update / delete / search / compact 六动作。 -
EngineConfig:链式配置存储形态(graph / nbin)、缓存字节、O_DIRECT、PQ、 检索模式、beam、插入即连边 / 编码。 -
SearchMode:统一标准 / 图边 / PQ delta-aware / nbin 四种检索后端。 -
ConcurrentEngine+EngineReader:复用"每 worker 独立 store + 共享 ConcurrentDelta 读锁"模型做并发检索。
-
-
src/lib.rs:导出 engine 模块(+1 行)。 -
examples/standard_api.rs:纯库 API 端到端示例。 -
README.md:增补标准 API 能力说明(+1 行)。
设计原则
不改任何底层检索 / 写入算法语义,只做装配 + 门面;用等价性测试锁定引擎检索结果
与底层 search_dynamic* 逐位一致。
验证
-
tests/engine_test.rs6 项集成测试:端到端生命周期、与底层逐位等价、Edges 连边、 nbin、并发多 reader、模式校验。 -
cargo test全量通过(lib 84 / cli 74 / dynamic 13 / engine 6 等,0 失败);cargo fmt --check、cargo clippy干净;cargo run --example standard_api正常。
边界(如实声明)
- 并发引擎聚焦并发读 + 串行写,写入不自动连边 / 编码。
- nbin 形态只支持 Nbin 检索模式。
- 跨语言(Python / C ABI)集成路径未实现,仅交付 Rust 库 API。