我正在尝试使用以下 CMIS 查询找出 Alfresco 中文件夹的内容:
SELECT *
FROM cmis:document
WHERE CONTAINS('PATH:"/app:company_home/st:sites/cm:GM/cm:emir/cm:FAQ//*"')
Run Code Online (Sandbox Code Playgroud)
在Node Browser 中,如果我导航到该文件夹,我会看到主路径的以下值
(我添加了换行符以使其更易于阅读):
/{http://www.alfresco.org/model/application/1.0}company_home
/{http://www.alfresco.org/model/site/1.0}sites
/{http://www.alfresco.org/model/content/1.0}GM
/{http://www.alfresco.org/model/content/1.0}EMIR
/{http://www.alfresco.org/model/content/1.0}FAQ
Run Code Online (Sandbox Code Playgroud)
但是 Alfresco 失败并显示以下消息:
引起:org.alfresco.scripts.ScriptException:05120032 无法执行脚本'classpath*:alfresco/templates/webscripts/org/alfresco/cmis/queries.post.cmisquery.js':05120 031 未知列/属性路径
我正在针对 Alfresco Community 3.3 进行测试。
您可以使用以下查询进行简单搜索
SELECT * FROM cmis:document WHERE IN_FOLDER('id_of_folder')
Run Code Online (Sandbox Code Playgroud)
或以下查询进行递归搜索
SELECT * FROM cmis:document WHERE IN_TREE('id_of_folder').
Run Code Online (Sandbox Code Playgroud)
如果要按路径搜索,可以使用:
SELECT * FROM cmis:folder
WHERE CONTAINS('PATH:\"/app:company_home/st:sites/cm:my_site/cm:documentLibrary//*\"')
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请查看官方规范
http://docs.oasis-open.org/cmis/CMIS/v1.1/os/CMIS-v1.1-os.html