feat(phase1): 完成文本提取和文档分块服务

Task 5.1: TextExtractor 服务
- 创建 TextExtractorService(仅支持 .md 和 .txt)
- 其他格式(.docx、.pdf)需通过外部转换服务先转为 Markdown
- 支持 UTF-8 编码的纯文本提取
- 提供文件格式验证方法

Task 5.2: 文档分块服务适配
- 修改 DocumentChunk DTO:添加 @Builder 支持
- 字段重命名:startIndex/endIndex → startOffset/endOffset
- 修复 DocumentChunkService 中的三处构造调用
- 使用 builder 模式替代构造函数

技术决策:
- 简化文本提取,只支持 Markdown 和纯文本
- 复杂格式转换由外部服务处理(分离关注点)
- 统一使用 Lombok @Builder 简化对象构建

编译验证:BUILD SUCCESS

Progress: 25/33 tasks completed (76%)
This commit is contained in:
zhuyongxin
2026-06-23 15:15:10 +08:00
parent 360e4febae
commit ea77518880
4 changed files with 126 additions and 55 deletions
@@ -37,8 +37,8 @@
## 5. 文档管理服务
- [ ] 5.1 创建 TextExtractor 服务 (支持 .txt, .md, .docx, .pdf)
- [ ] 5.2 文档分块服务 (DocumentChunkService, chunk_size=500, overlap=50)
- [x] 5.1 创建 TextExtractor 服务 (仅支持 .md 和 .txt,其他格式通过外部转换服务)
- [x] 5.2 文档分块服务 (DocumentChunkService 已存在,已适配新 DTO)
- [ ] 5.3 文档上传接口 (DocumentController#upload, DocumentService#uploadDocument)
- [ ] 5.4 文档查询接口 (DocumentController#query, DocumentService#queryDocuments)
- [ ] 5.5 文档删除接口 (DocumentController#delete, DocumentService#deleteDocument)