在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
相关产品推荐
相关产品推荐

