使用Querybuilder从结果中排除标记

时间:2015-12-02 15:51:28

标签: xpath cq5 aem jcr

AEM允许我查询REST API,如下所示:

  

搜索标记有特定标记的网页

     

http://localhost:4502/bin/querybuilder.json?type=cq:Page&tagid=marketing:interest/product&tagid.property=jcr:content/cq:tags

1 type=cq:Page
2 tagid=marketing:interest/product
3 tagid.property=jcr:content/cq:tags

但是如果我想要所有不包含某个标签的页面怎么办?

 1 type=cq:Page
 2 tagid=marketing:interest/product
 3 tagid.property=jcr:content/cq:tags

在xPath中,我可以执行以下操作:

//jcr:content/cq:tags[not(@tagId = 'marketing:interest/product')]

这可以通过REST API实现吗?

2 个答案:

答案 0 :(得分:2)

你走了:

path=/content/some/path/you/need
type=cq:Page
group.1_fulltext=marketing:interest/product
group.1_fulltext.relPath=jcr:content/@cq:tags
group.p.not=true

与下一个xpath查询相关的是什么:

/jcr:root/content/some/path/you/need//element(*, cq:Page) [ not(jcr:contains (jcr:content/@cq:tags, 'marketing:interest/product')c) ]

您还可以添加p.limit=[some number]以获得超过10个结果。

您可以找到一些有趣的信息theremore about available predicates(检查实施类)。

答案 1 :(得分:0)

我尝试了/jcr:root/content/geometrixx//element(*, cq:Page)[(jcr:content/@cq:template != '/apps/geometrixx/templates/contentpage') ]

它为我提供/content/geometrixx下不使用模板路径/apps/geometrixx/templates/contentpage

的网页