如何使用Query Builder API对属性执行多个操作?

时间:2016-08-12 14:33:10

标签: java servlets xpath aem query-builder

在AEM 6.2中,我创建了一个Java servlet,我使用QueryBuilder在JCR中查询相关内容。

我想将搜索结果限制为没有'sling:resourceType'属性的节点,或者如果它们确实拥有它,则它不能等于'social / qna / components / hbs / post'。像这样编写XPATH查询

//*[jcr:contains(., 'searchTerm') and ((not (@sling:resourceType)) or (@sling:resourceType != 'social/qna/components/hbs/post')) and ((@jcr:primaryType = 'cq:Page') or (@jcr:primaryType = 'social:asiResource'))]

但我无法弄清楚如何使用QueryBuilder API来创建此查询。这就是我的QueryBuilder代码。

group.p.or=true
group.1_path=/content/myproject
group.2_path=/content/usergenerated/asi/jcr/content/myproject
1_group.p.or=true
1_group.1_type=cq:Page
1_group.2_type=social:asiResource
fulltext=searchTerm

property.p.or=true
property=sling:resourceType
property.operation=exists
property.value=false
property.1_operation=unequals
property.1_value=social/qna/components/hbs/post

如何重写属性部分,以便它只返回sling:resourceType属性不存在或者不等于'social / qna / components / hbs / post'的结果?

0 个答案:

没有答案