coze-dev / coze-dev/coze-studio

Upsert Failed: `sparse_text_content` 字段未传数据导致索引失败(invalid parameter)

Open
#366 7 comments 0 reactions 0 assignees View on GitHub
mod/knowledge
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.