0

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

它给出了以下异常当有两个或多个选择器时必须指定选择器

谢谢

4

2 回答 2

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/*"')

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

于 2017-03-21T13:03:31.947 回答
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//*"')

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

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

于 2017-03-17T21:59:01.897 回答