【发布时间】:2017-03-21 21:03:31
【问题描述】:
我需要在 alfresco 中使用基于 java 的调度程序查询存储库中的特定文件夹。
我需要检查自定义方面的属性是否存在。
当我不使用路径查询时,以下查询适用于我。
select * from myType:caseDoc as d join myAspect:caseId as s on d.cmis:objectId = s.cmis:objectId
上述查询的问题是它搜索存储库中的所有内容,但我想定位一个特定的文件夹。
当我尝试将 CONTAINS 放入上述查询时,它失败了。
select * from cch:caseDoc as d
join cch:caseId as s on d.cmis:objectId = s.cmis:objectId WHERE CONTAINS('PATH:"//app:company_home/cm:FWED/cm:CDO/cm:CAB-DROP-FOLDER/*"')
它给出了以下异常 当有两个或多个选择器时,必须指定一个选择器
谢谢
【问题讨论】:
-
看起来您可能在 CONTAINS() 中遗漏了一个参数。你尝试过这样的事情吗? select * from cch:caseDoc as d join cch:caseId as s on d.cmis:objectId = s.cmis:objectId WHERE CONTAINS(d,'PATH:"//app:company_home/cm:FDLE/cm:CCH/cm :CCH-DROP-FOLDER/*"')
-
既然您使用的是 CMIS,为什么不使用 java 方法获取文件夹
-
如果我使用 java 方法获取文件夹,那么我需要获取它的所有子文件夹并通过循环过滤它。我认为这在内存和时间方面将是非常昂贵的过程。
-
@luiscolorado 效果很好,谢谢!当我从 CMIS Workbench 中看到时,我只是在处理一个小问题,比如字符串值是黑色的。但是当我将条件放在最后时,以下任何一项都不起作用..并且 p.acc:cNumber '' 给出 Request failed 500 eroror 02170080 Request failed 500 /solr4/alfresco/cmis?wt=json&fl=DBID%2Cscore&rows= 100&df=TEXT&start=0&locale=en&alternativeDic=DEFAULT_DICTIONARY&cmisVersion=CMIS_1_1&fq=%7B%21afts%7DAUTHORITY_FILTER_FROM_JSON&fq=% AND p.acc:cNumber IS NOT NULL(返回带有空白 cNumber 的行)
-
Sam,我建议将该问题放在一个单独的问题中。 '' 是两个撇号还是一个单引号?
标签: alfresco cmis alfresco-enterprise