【发布时间】:2014-02-11 21:07:07
【问题描述】:
我正在尝试找出通过名称在存储库中获取节点的最佳方法。我可以确保没有 2 个节点在存储库中具有相同的名称。
我可以编写一个递归代码来按名称获取节点,但是如果我的节点位于根目录 --> 级别 1000 --> 级别 1k
,这会降低系统性能如果 Adobe CQ5(CRX) 提供任何 api 来做同样的事情?
【问题讨论】:
-
您绝对可以使用查询,根据 Tomek 在下面的回答,但对我来说,如果您需要拉出一个随机节点(更不用说页面),那感觉就像是在做一些奇怪的事情1,000 级深度——你真的不能根据层次缩小搜索范围吗?如果可能的话,您绝对应该致力于适当地构建层次结构。
-
首先,我真的不明白你在这里维护层次结构是什么意思。尽管我正在创建一个定义明确的节点结构并且需要搜索随机节点,但我认为查询对我有用。 ???
-
如果你真的无法组织你的内容树来避免它,查询整个数据库将起作用。我的意思是,如果您必须在 repo 的所有部分的每个级别进行搜索,它当然会更慢。
标签: osgi aem jcr osgi-bundle sling