带路径

时间:2017-03-17 18:18:49

标签: alfresco cmis alfresco-enterprise

我需要在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/*"')

它给出了以下异常 当有两个或更多选择器

时,必须指定一个选择器

谢谢

2 个答案:

答案 0 :(得分:1)

看起来你可能在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-D‌​ROP-FOLDER/*"')

(我只是把我的评论作为答案)

答案 1 :(得分:0)

好吧,如果你担心路径,那么你应该把

CONTAINS('PATH:"/app:company_home/cm:FWED/cm:CDO/cm:CAB-DROP-FOLDER/*"')

在路径的开头只有一个/,如果您只搜索直接子项到该路径,或者:

CONTAINS('PATH:"/app:company_home/cm:FWED/cm:CDO/cm:CAB-DROP-FOLDER//*"')

在整个底层层次结构中执行查找!

但是,我确实认为您提供的查询和您描述的行为彼此不匹配!