coze-dev / coze-dev/coze-studio
Upsert Failed: `sparse_text_content` 字段未传数据导致索引失败(invalid parameter)
- Dominant language
- TypeScript
- Stars
- 21.6k
- Forks
- 3.1k
- PR merge metrics
- No merged PRs in 30d
Description
---
### **问题描述**
在知识文档处理流程中,调用 `SearchStore` 执行 `upsert` 操作时失败,系统抛出错误:
> `fieldSchema(sparse_text_content) has no corresponding fieldData pass in: invalid parameter`
该问题导致文档无法成功索引,`knowledge_document.status` 被置为 `4`(失败),并记录了详细的 `fail_reason`。
错误发生在消息消费阶段(NSQ Topic: `opencoze_knowledge`),且重试机制未能恢复。
---
### **错误细节**
```log
code=105000004 message=SearchStore operation failed: store search store failed, err: [Store] upsert failed, fieldSchema(sparse_text_content) has no corresponding fieldData pass in: invalid parameter
```
**调用栈:**
```
/app/domain/knowledge/service/event_handle.go:377 (*knowledgeSVC).indexDocument
/app/domain/knowledge/service/event_handle.go:75 (*knowledgeSVC).HandleMessage
/app/infra/impl/eventbus/nsq/consumer.go:89 (*MessageHandler).HandleMessage
```
---
### **初步分析**
- `SearchStore` 的 schema 中定义了必填字段 `sparse_text_content`;
- 但在 `indexDocument` 流程中,**未正确填充该字段的数据(fieldData)**,可能是由于:
- 源内容为空未做兜底;
- 字段映射遗漏;
- 空值被跳过未传入;
- 文本提取逻辑异常导致字段丢失。
---
### **影响**
- 知识文档索引失败,影响后续的检索与 RAG 功能。
---
> 镜像版本:0.3.6.test
Contributor guide
Assessment
This issue has not been assessed yet.