查询执行器策略
Query Executor Strategy
根据 schema 自动选择查询执行策略,支持单向量/多向量/无向量三种模式的流水线执行
子问题
1.执行器自动选择
2.多向量并行查询
3.结果融合与重排序
4.向量类型到 numpy dtype 的安全转换
5.ID 查询与向量查询的统一抽象
6.距离度量归一化(L2/IP/COSINE 到 0-1 区间)
各项目的解法1 solutions
Signals
横向对比
| 维度 | zvec |
|---|---|
| 策略选择机制 | Factory 根据 schema.vectors 长度自动分发三种执行器 |
| 流水线模式 | @final Template Method 锁定 validate-build-execute-rerank 四阶段 |
| 并行能力 | ThreadPoolExecutor + as_completed,ZVEC_QUERY_CONCURRENCY 环境变量控制 |
| 继承体系 | NoVector → SingleVector → MultiVector 渐进式继承链 |
| Reranker 架构 | RerankFunction ABC + RRF/Weighted/LLM 三类内置实现 |
| 校验策略 | Fail-Fast:MultiVector 在 validate 阶段强制要求 Reranker |
最佳实践
1.Factory 根据 schema 自动匹配执行器,避免用户手动选择
2.@final 装饰器锁定流水线顺序,子类只能覆写钩子不能跳步
3.环境变量控制并发度,默认串行保证安全
4.渐进式继承链避免代码重复,每层只叠加新能力