2

我需要有一个这种形式的 JCR SQL 查询:

select * from jcr:content where cq:template like '%myTemplate%' and ( jcr:path like '%path1%' or jcr:path like '%path2%')

但我得到一个例外,说“不正确使用属性 jcr:path” 有没有快速解决方法?每次搜索的路径数量可能会根据用户选择而有所不同。

4

2 回答 2

2

我在 CQ 的查询工具中尝试了以下查询,它工作正常。

SELECT * FROM [cq:PageContent] WHERE [cq:PageContent].[cq:template] LIKE '%content%' AND ( isdescendantnode('/content/geometrixx/fr/') OR isdescendantnode('/content/geometrixx/en/'))

但是 ISDSCENDANTNODE 需要一个绝对路径,我认为相对路径不起作用。

于 2013-11-22T02:38:36.980 回答
1

正如您所注意到的,在 JCR 查询中使用多路径比较是不可能的。你有几个选择:

  1. 创建几个查询,每个路径一个。
  2. 添加一些自定义属性到jcr:content节点标记您感兴趣的页面并使用它而不是路径。
  3. 迭代path1path2子树而不是查询它们。
于 2013-11-21T21:19:38.383 回答