zhuyongxin
4ef8d87961
feat(phase1): 实现文档分块向量化索引
Task 5.6: 向量化索引实现
- VectorIndexService 新增方法:
- indexDocumentChunks(docId, chunks): 索引文档分块到 Milvus
- deleteDocumentChunks(docId): 删除文档的所有向量
- buildDocumentMetadata(): 构建文档元数据(区分文件索引)
核心流程:
1. 上传时:文本提取 → 分块 → 向量化 → 存入 Milvus + MySQL
2. 检索时:问题向量化 → Milvus 语义检索 → 返回相似文档
3. 删除时:删除元数据 + 删除向量索引
实现细节:
- 复用 indexSingleFile 的向量化逻辑
- metadata.docId 标识文档来源(区分 upload: 和 file:)
- 删除表达式:metadata["docId"] == "xxx"
- 自动去重:上传前删除旧向量数据
DocumentManagementService 完整实现:
- uploadDocument: 完整向量化流程(移除 TODO)
- deleteDocument: 同步删除向量索引(移除 TODO)
编译验证:BUILD SUCCESS
Progress: 32/34 tasks completed (94%)
2026-06-23 16:08:50 +08:00
..
2026-06-23 10:58:11 +08:00
2026-06-23 10:58:11 +08:00
2026-06-23 10:58:11 +08:00
2026-06-23 10:58:11 +08:00
2026-06-23 10:58:11 +08:00
2026-06-23 16:08:50 +08:00