You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Alfresco Community中通过REST API添加文档元数据及属性搜索

可以通过Alfresco REST API为文档添加元数据并实现属性搜索

完全可以通过Alfresco的REST API完成文档元数据的添加/更新,并且基于这些属性实现搜索,具体操作如下:

一、添加/更新文档元数据

使用Alfresco的Nodes API来更新文档属性,核心端点是PUT /nodes/{nodeId}(nodeId为你上传文档后获得的节点ID)。

1. 更新基础或自定义属性

请求体中通过properties字段指定要设置的元数据,示例JSON如下:

{
  "properties": {
    // 内置属性
    "cm:title": "项目需求文档",
    "cm:description": "2024年Q3项目详细需求说明",
    // 自定义模型属性(需提前部署自定义模型并关联到文档)
    "my:projectCode": "PROJ-2024-001",
    "my:deadline": "2024-09-30T00:00:00.000Z"
  }
}

2. 关联自定义Aspect(如果需要)

如果文档还未关联包含自定义属性的Aspect,可以在更新时同时添加,请求体增加aspectNames字段:

{
  "aspectNames": ["my:projectDocument"],
  "properties": {
    "my:projectCode": "PROJ-2024-001"
  }
}

二、基于元数据属性搜索

元数据更新后,Alfresco会自动将属性同步到搜索索引,直接使用Search API的POST /search端点即可实现属性搜索。

1. 使用Alfresco FTS语法搜索

示例请求体:

{
  "query": {
    "query": "my:projectCode:\"PROJ-2024-001\" AND cm:title:*需求*"
  }
}

2. 使用CMIS查询语法搜索

如果熟悉CMIS,可以指定language为cmis进行查询:

{
  "query": {
    "query": "SELECT cm:name, my:deadline FROM my:projectDocument WHERE my:projectCode = 'PROJ-2024-001'",
    "language": "cmis"
  }
}

注意事项

  • 确保请求携带有效的认证信息(如Bearer Token),且操作账号拥有文档的编辑权限。
  • 自定义属性必须符合对应模型定义的数据类型,否则API会返回参数错误。
  • 若需要批量更新多个文档的元数据,可以循环调用PUT /nodes/{nodeId},或使用Alfresco的Bulk API提高效率。

内容的提问来源于stack exchange,提问作者freeez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 11:25:18