如何通过CMIS查询指定分类的Alfresco文档?
在Alfresco中通过CMIS按分类查询文档
针对你的需求,有几种常用的CMIS查询方式可以按分类筛选文档,以下是具体实现:
方法1:通过分类名称查询(JOIN关联分类节点)
这种方式无需提前知道分类的节点ID,直接通过分类名称匹配,适合快速测试:
SELECT d.* FROM cmis:document d JOIN cm:category c ON IN_MEMBER(d, c) WHERE IN_TREE(d, 'f6bdc39d-61c2-4610-91d3-7979eb8bd845') AND c.cmis:name = 'test_category'
如果你的分类属于多级分类树(比如/Generalclassifiable/test_category),可以通过cm:path精准匹配:
SELECT d.* FROM cmis:document d JOIN cm:category c ON IN_MEMBER(d, c) WHERE IN_TREE(d, 'f6bdc39d-61c2-4610-91d3-7979eb8bd845') AND c.cm:path = '/cm:generalclassifiable/cm:test_category'
方法2:通过分类节点ID查询(直接匹配文档属性)
Alfresco文档的cm:categories属性存储了关联分类的节点ID,用这种方式查询性能更优:
SELECT d.* FROM cmis:document d WHERE IN_TREE(d, 'f6bdc39d-61c2-4610-91d3-7979eb8bd845') AND '分类节点ID' IN d.cm:categories
你可以在Node Browser中找到test_category分类的节点ID,替换上述语句中的分类节点ID即可。
方法3:结合全文检索(CONTAINS)
如果需要同时结合全文条件筛选,也可以用CONTAINS搭配CAT关键字:
SELECT d.* FROM cmis:document d WHERE IN_TREE(d, 'f6bdc39d-61c2-4610-91d3-7979eb8bd845') AND CONTAINS(d, 'CAT:"test_category"')
内容的提问来源于stack exchange,提问作者Alex Oliveira
相关产品推荐
相关产品推荐

