图_12文档删除流程
原生 Excalidraw 可编辑画布,基于 SuperMew-0.1.0。请使用 Obsidian 的 Excalidraw 视图打开。
所属模块: M6 文档管理。总图与详图使用相同模块编号;画布右侧也包含以下读图说明。
M6 组成
- 列表聚合 Milvus 叶子记录;上传衔接 M7 索引;删除清理多种存储。
- 同步在请求内完成;异步返回 job_id,进度由内存 JobManager 提供。
- 上传细节见图 03,下方展开删除分支。
清理顺序
- Milvus L3 → PG L1/L2 commit → Redis 父块缓存删除。
- BM25 统计由 Milvus 自动维护;没有独立重建任务。
边界
- 本地原文、聊天历史和已保存 Trace 保留。
- transactionally 是函数名,不代表跨库事务。
- 部分失败无自动回滚;Redis 异常可能被忽略。
源码对应
backend/api/routes/documents.py:delete_document_async()backend/api/routes/documents.py:_process_delete_job()backend/api/resources.py:delete_document_transactionally()backend/indexing/parent_chunk_store.py:delete_by_filename()backend/jobs/upload_jobs.py:UploadJobManager()
Excalidraw Data
Text Elements
12 文档管理组成与删除流程 ^fc49eb86
原版真实分支与时序;全部图形、文字与连线均为可编辑元素。 ^ec954da6
M6 文档管理 · 对应总图 01 ^3added20
M6 文档管理的三组能力 · 全部要求管理员身份 ^454f3531
文档列表 GET /documents 从 Milvus 叶子记录 统计 filename / chunk_count ^d18d8603
上传与索引入口 同步 / 异步上传 保存、同名清理、创建 job 调用 M7 入库,详见图 03 ^0ce2c831
删除与任务状态 同步 / 异步删除 JobManager 保存内存进度 轮询 jobs,删除细节如下 ^bb513407
管理员提交删除 filename ^ea923e42
同步 / 异步接口 ^a2865738
create_job · pending prepare / bm25 / milvus / parent_store ^91806992
返回 job_id BackgroundTasks → running ^b4311601
前端轮询删除进度 ^3eea68e5
delete_document_transactionally 初始化 Milvus Collection ^691f5ff6
异步进度 bm25=completed 统计由 Milvus 自动维护 ^7204fa26
按 filename 删除 Milvus L3 ^07f67382
按 filename 找 PG 父块 ID 删除 L1/L2 → PG commit ^df3932c8
逐个 cache.delete parent_chunk key Redis 异常在封装内部忽略 ^4b095f63
同步返回 delete_count 或 job completed ^52a70209
同步 HTTP 错误 或 job failed / 当前步骤 / error ^dc62436e
可能已清理部分数据 需检查各存储实际状态 ^5db3b2de
本地上传原文 历史聊天 / 已保存 Trace ^31ac02bd
任务不是 PG / Redis 持久队列 ^6c93eebe
异步 ^02a126b9
GET delete/jobs/id ^ae1aabcf
同步 ^845553aa
异常 ^2041be41
异常 ^4e25df1a
异常 ^f4aea033
无跨库自动回滚 ^4f2b1286
仍保留 ^414c9950
服务重启后丢失 ^094937f1
读图说明 · M6 文档管理 ^fd03ffb3
M6 组成 ^8a24ef47
• 列表聚合 Milvus 叶子记录;上传衔接 M7 索引 ;删除清理多种存储。 ^2763bd0e
• 同步在请求内完成;异步返回 job_id,进度由 内存 JobManager 提供。 ^3d343a98
• 上传细节见图 03,下方展开删除分支。 ^ed3e722e
清理顺序 ^0a6b683b
• Milvus L3 → PG L1/L2 commit → Redis 父块缓 存删除。 ^4c8b2609
• BM25 统计由 Milvus 自动维护;没有独立重建 任务。 ^4a0826ff
边界 ^2d116b58
• 本地原文、聊天历史和已保存 Trace 保留。 ^aae7431e
• transactionally 是函数名,不代表跨库事务。 ^75f16ddc
• 部分失败无自动回滚;Redis 异常可能被忽略。 ^b77acf23
Element Links
3added20: [[图_1项目设计]]
%%
Drawing
1 | N4IgLgngDgpiBcIYA8DGBDANgSwCYCd0B3EAGhADcZ8BnbAewDsEAmcm+gV31TkQAswYKDXgB6MSgw4CxAHSp6AWzJJMMJTEZgaCANqg8CEAA4AbOgCMZk7dWRYx/DFRh0jAObrVyBAGYABnIIBGsgkCI8MH5QgL8AVnJ+GGwPQVYWRJB3Lz5wmjB8egBrGABhekx6fGMAYlQAI1x4mEtVBvRUYo8izkZcCqqaxFqAMxNR9FHUVVHsTEwAZUhvRA |
%%