java - 通过java在JCR repo中进行递归搜索

标签 java search recursion jcr jcr-sql2

我知道如何在 JCR 中搜索内容 通过JCR SQL2 queries .

但是,我想在某些情况下使用 Java,使用 JCR API : javax.jcr.Node, javax.jcr.NodeIterator

恐怕我会通过自己编写代码来重新发明轮子。

是否有可用的东西(GistGithubelse)?

最佳答案

您可以使用 SlingQuery .它受到 jQuery 的启发并遵循它的语法。您应该只使用它来搜索少量节点(最好在 100 个以下),因为遍历查询很慢。

编辑

您的示例可能会转换为以下 SlingQueries(未测试):

SlingQuery.$(startResource).find("[name=teasers][title=awesome-teaser]")

SlingQuery.$(startResource).find("[name][controlName]")

SlingQuery 是 Apache Sling 的一部分一段时间以来,这就是 github 存储库似乎被遗弃的原因。

注意:您可以在语法中静态导入美元符号并删除对 SlingQuery 的静态访问,例如 $(resource).find("...");

关于java - 通过java在JCR repo中进行递归搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41267230/

相关文章:

clojure - Clojure 中的相互递归定义

javascript - 递归打印字符串的所有排列(Javascript)

java - 如何将类作为参数传递给静态方法

python - 快速搜索大型结构化 numpy 数组

c++ - 用于快速插入和删除的堆 O(log n)

javascript - 如何在 JavaScript 中搜索其他不区分大小写的对象?与 _.where() 一样,仅不区分大小写

Haskell 开关/案例使用

java - 带参数调用main方法时出错

java - 如何提高 Java 中针对 xsd 的大型 xml 验证速度?

java - 保存列表数组