我需要有一个这种形式的 JCR SQL 查询:
select * from jcr:content where cq:template like '%myTemplate%' and ( jcr:path like '%path1%' or jcr:path like '%path2%')
但我得到一个例外,说“不正确使用属性 jcr:path” 有没有快速解决方法?每次搜索的路径数量可能会根据用户选择而有所不同。
我在 CQ 的查询工具中尝试了以下查询,它工作正常。
SELECT * FROM [cq:PageContent] WHERE [cq:PageContent].[cq:template] LIKE '%content%' AND ( isdescendantnode('/content/geometrixx/fr/') OR isdescendantnode('/content/geometrixx/en/'))
但是 ISDSCENDANTNODE 需要一个绝对路径,我认为相对路径不起作用。
正如您所注意到的,在 JCR 查询中使用多路径比较是不可能的。你有几个选择:
jcr:content
节点标记您感兴趣的页面并使用它而不是路径。path1
和path2
子树而不是查询它们。