Appearance
知识库删除节点
知识库删除节点根据文档 ID,从一个资源库知识库中删除指定文档。它适合清理失效资料、替换已归档文件,或由受控业务流程撤销已经写入的知识内容。
删除会直接影响后续知识库检索结果,且节点没有恢复入口。应把它视为高风险操作:只有在知识库和文档 ID 均经过确认时才执行,不能把未经校验的用户自由输入直接用于删除。
配置要点
- 输入参数固定为 String 类型的
documentID,一次只接收一个文档 ID。 - 上游返回多个
documentId时,应先明确选出一个元素,或通过循环、批处理逐项删除。 - 一个节点最多选择一个资源库知识库;企业知识库不能作为删除目标。
- 输出固定为 Boolean 类型的
isSuccess,不返回被删除文档详情或删除数量。
配置示例
下面的专用截图工作流只用于展示配置,没有执行删除。示例将安全占位值 docs-demo-document-id 填入 documentID,目标选择 java知识库。

实际流程中不要照抄占位值。应引用知识库写入节点返回的 documentId、知识库检索结果中经过明确选择的 documentId,或业务系统保存的受控文档 ID。
输入
| 参数 | 类型 | 配置规则 |
|---|---|---|
documentID | String | 必填。填写固定文档 ID 或引用一个 String 变量;参数名称和类型不可修改。 |
注意大小写:删除节点的输入名是 documentID,而知识库写入、知识库检索输出中的字段名是 documentId。二者不是同一个字段名。通过“引用变量”选择上游输出时,编辑器会保存具体变量引用;手工编排数据时必须保留各自的准确大小写。
引用知识库写入结果
知识库写入节点成功后会输出单个 documentId。如果流程需要稍后更新或撤销该文档,应把这个 ID 保存到受控业务记录,再在删除节点中引用,避免仅凭文件名定位。
引用知识库检索结果
知识库检索节点返回 outputList,其中每一项才包含 documentId。删除节点不会自动处理整个列表,也不会自动取第一项。应先检查列表是否为空,再通过代码、选择器、循环或批处理明确确定要删除的条目。
不要仅根据召回文本相似就直接删除。更稳妥的做法是同时核对文档 ID、业务主键和目标知识库,并在必要时增加人工确认。
使用固定值
只有当文档 ID 来自可信控制台、受控配置或业务数据时才使用固定值。不要把示例 ID、文件名或用户输入的普通文本当作真实文档 ID。
选择目标知识库
点击“选择知识库”,从工作空间的资源库知识库中选择一个目标。节点最多选择一个知识库,且目标知识库必须与文档 ID 所属知识库一致。
企业知识库不在本节点的选择范围内。
输出
节点固定输出一个只读变量:
| 输出 | 类型 | 说明 |
|---|---|---|
isSuccess | Boolean | 本次删除操作是否成功。 |
下游应根据 isSuccess 设计成功和失败分支。固定输出不包含被删除文档、失败原因或删除数量;需要审计时,应在调用前记录目标知识库、文档 ID、业务来源和操作主体,并把运行失败交给统一异常处理或人工复核。
工作流校验
保存或发布前,编辑器会检查:
documentID已填写固定值或绑定变量。- 已选择一个资源库知识库。
- 文档 ID 与所选资源库知识库一致。
示例截图没有执行“测试节点”或“试运行”,这是为了避免占位文档 ID 触发真实删除。正式流程应在隔离的测试知识库中验证,并准备可以重新写入的测试文件。
推荐的文档更新流程
- 从业务记录取得待替换文档 ID,并核对其所属知识库。
- 删除目标文档,判断
isSuccess。 - 仅在删除成功后写入替换文件。
- 保存知识库写入节点返回的
documentId,更新业务记录中的文档 ID。 - 对删除失败、写入失败和部分成功分别记录,避免业务记录与知识库实际状态不一致。
如果业务必须确保资料持续可用,可以先写入替换文件并验证可检索,再由人工或受控流程删除原文件;具体顺序应根据重复内容和短暂不可用哪一种风险更可接受来决定。
批量删除
节点一次处理一个 documentID。删除多个文档时,应把经过确认的文档 ID 列表交给循环或批处理节点,并为每一项保留独立结果。
批量删除前建议增加:
- 数量上限,防止异常列表扩大影响范围。
- 知识库白名单,防止跨库误删。
- 空值和重复 ID 过滤。
- 失败项记录和人工复核,不对未知错误进行无上限重试。
常见问题
为什么不能选择企业知识库?
企业知识库不提供本节点需要的文档删除能力,因此不会出现在可选目标中。
为什么不能直接引用整个 outputList?
documentID 需要一个 String,而 outputList 是对象数组。应先判断数组是否为空,再明确选择其中某一项的 documentId;多项删除使用循环或批处理。
会自动删除检索结果中的第一条吗?
不会。节点没有“自动取第一条”的配置或转换逻辑。
documentID 和 documentId 为什么写法不同?
这是节点契约的字段命名:删除节点输入使用 documentID,写入和检索输出使用 documentId。引用变量时选择正确的输出路径,不要手工把大小写统一。
删除后还能恢复吗?
工作流节点没有恢复操作。删除前应确认目标,并保留可以重新写入的原始文件或来源数据。