知识库更新后用户仍得到旧答案时,如何排查索引刷新、缓存和检索过滤条件
进阶版来源:baidu初级工程师检索链路可观测性元数据过滤缓存失效规则向量数据库索引同步
草稿
答案解析
我会按“数据是否更新成功 → 索引是否刷新 → 检索是否命中新内容 → 是否被缓存或过滤 → 生成阶段是否引用旧上下文”这条链路排查。
第一步先确认知识库更新是否真正落库。
我会看原始文档、切分后的 chunk、文档版本号、更新时间这些信息是否已经写入数据库或对象存储。很多时候用户说更新了,但实际只是上传成功,异步解析、切分、向量化任务还没完成,或者任务失败了。
需要重点看:
文档状态是不是 已生效,而不是 处理中、失败; chunk 数量是否符合预期; 旧 chunk 是否已经删除或标记失效; 新 chunk 是否带有正确的文档 ID、版本号、租户 ID、权限标签等元数据。
第二步排查索引刷新问题。
如果用的是 Elasticsearch、OpenSearch、向量数据库或者混合检索,一般会有索引写入和索引可见性的延迟。
我会检查几个点:
新 chunk 是否已经写入索引; 向量是否已经生成并成功 upsert; 索引 refresh 是否完成,比如 ES 默认不是实时可见,可能有 refresh interva
登录后查看完整内容
