在页面中搜索多个标签值

时间:2014-03-02 23:41:47

标签: tags cq5

我正在使用CQ 5.6.1并希望搜索标记为多个标记值的页面。例如:我想搜索所有标记为的页面:

topicId =投资和语言=英语和类型=某事

我可以为像

这样的标签的单个值做这件事
    searchMap.put(tagid, topicId);
    searchMap.put(tagid.property, @jcr:content/cq:tags);

如何为多个标签值实现它。

由于

ANKIT

1 个答案:

答案 0 :(得分:1)

您可以通过指定数字前缀来添加所需数量的tagid,如下所示

searchMap.put("type", "cq:Page");
searchMap.put("1_tagid", topicId);
searchMap.put("1_tagid.property", "jcr:content/cq:tags");
searchMap.put("2_tagid", anothertopicId);
searchMap.put("2_tagid.property", "jcr:content/cq:tags");

以上查询类似于以下XPath查询

//element(*, cq:Page) [
jcr:content/@cq:tags = 'marketing:interest/business' and jcr:content/@cq:tags = 'marketing:interest/product' 
]

有关查询的详细信息,请参阅this