Skip to content

feat: 标准库级 API 封装(VectorEngine) — 补齐透明集成维度

回响形态回响形 requested to merge feat/pq-integration into main

背景

赛题硬性维度"透明集成(标准 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.rs 6 项集成测试:端到端生命周期、与底层逐位等价、Edges 连边、 nbin、并发多 reader、模式校验。
  • cargo test 全量通过(lib 84 / cli 74 / dynamic 13 / engine 6 等,0 失败); cargo fmt --checkcargo clippy 干净;cargo run --example standard_api 正常。

边界(如实声明)

  • 并发引擎聚焦并发读 + 串行写,写入不自动连边 / 编码。
  • nbin 形态只支持 Nbin 检索模式。
  • 跨语言(Python / C ABI)集成路径未实现,仅交付 Rust 库 API。

Merge request reports