返回 Bug 清单
BUG-0395project-13高已修复backend-logic
向量重导只从 metadata 取值,而元数据里没有 content 键,导致重导是全量空操作却返回全绿
发现:2026-10-03验证:2026-10-09置信度:90%
症状
调用重导接口返回 200 且无错误,但向量库里内容毫无变化;用户以为重导完成,实际一条都没更新。
根因
VectorReimportService 从向量库行的 metadata JSON 里取 subject/chapter/title/content 四字段,但写入端从未把 content 放进 metadata(content 存在列里)。于是每行都因「content 为空」被跳过,接口返回 success=0/skipped=1248 —— 一个「成功执行但什么都没做」的空操作。
修复方案
改为 firstNonBlank(列值, metadata值) 的取数顺序(列优先),因为列才是权威来源;同时补一条断言:重导后行数与向量数必须与重导前一致(幂等),且至少处理行数 > 0,否则视为失败。
错误签名
重导结果 success=0 skipped=1248;metadata 键统计 含content: 0/1248技术信息
来源项目
project-13
涉及文件
backend/src/main/java/com/project-13/service/ai/VectorReimportService.java
标签
空操作, 数据源选错, 幂等, 静默成功, project-13...