目前我被困在生成具有多个路径的查询的问题上。我可以完成从crx 存储库中的特定单个根路径搜索子节点的情况。我为此使用关键字isdecendantnodenode()
:
select * from [nt:base] as p
where
(isdescendantnode (p, [first path]))
and contains(p.*, '"bankproducts"')
and p.[sling:resourceType] = 'components/content/download'
正如我所说,这很好用。现在我必须面对挑战,搜索确实出现在两个或多个不同子节点中的元素 - 在同一层次结构级别中。
我实现这一目标的尝试如下:
select * from [nt:base] as p
where
(isdescendantnode (p, [first path]) and isdescendantnode(p, [second path]))
and contains(p.*, '"bankproducts"')
and p.[sling:resourceType] = 'components/content/download'
这仅给了我返回它们仅在第二条路径中的元素(在我看来)。
下一个示例导致存储库异常:
select * from [nt:base] as p
where
(isdescendantnode (p, ([first path] and [second path]))
and contains(p.*, ' "bankproducts"')
and p.[sling:resourceType] = 'components/content/download'
可能关键字的顺序是错误的。我的想法已经用完了,所以 SO 属于我所拥有的最后一个选项。
提前致谢