克服 AEM 6.1 中 cq:Page 节点的 1000+ 节点限制

Posted

技术标签:

【中文标题】克服 AEM 6.1 中 cq:Page 节点的 1000+ 节点限制【英文标题】:Overcoming the 1000+ node limit for cq:Page nodes in AEM 6.1 【发布时间】:2016-05-12 23:51:05 【问题描述】:

我们目前正在使用 AEM 6.1 构建一个大型站点,并将将数十万条记录从基于 RDMS 的旧系统迁移到 AEM 的 JCR。我们知道 1000+ 节点的限制不适用于类型为 nt:unstructured 的节点,但我们在使用 cq:Page 节点时遇到了限制。

我们当前的网站结构如下:

/
├── blog/
│   ├── some-blog-post
│   └── another-post
└── articles/
    └── some-article
    └── another-article
    └── ...
    └── ...
    └── ...

文章子树中有超过 6000 篇文章,我们必须维护面向消费者的网站的 URL 结构。我们使用的是经典 UI,当您在 AEM 站点管理员中展开文章文件夹时,我们当然会遇到性能问题。我们有能力将文章拆分到 Siteadmin 中的其他目录中,但我们必须维护 URL 的扁平结构。

在 AEM 中执行此操作的最佳方法是什么?我们无法在调度程序中执行此操作,因为调度程序无法知道在 JCR 层次结构中映射请求的位置。

【问题讨论】:

您使用的是哪个版本的 crx? AEM 6.1 所以 Apache Jackrabbit Oak 1.2.2 【参考方案1】:

如果您以可预测的方式拆分内容,您确实可以在 HTTP 前端使用 URL 重写来提供扁平的 URL 结构。

例如,/articles/s/so/some-blog-post 可以在两个方向上可靠地映射到 /articles/some-blog-post

这需要创作方面的一些逻辑,以确保您的页面路径是根据这样的规则构建的。

请注意,在类似博客的内容中处理此问题的常用方法是在帖子路径前加上创建日期,例如 2016/02/29/some-blog-post,这提供了一个很好且有意义的层次结构。

【讨论】:

以上是关于克服 AEM 6.1 中 cq:Page 节点的 1000+ 节点限制的主要内容,如果未能解决你的问题,请参考以下文章

AEM 6.1 SP1 将资产拖放到触摸 UI 中的路径浏览器/字段

AEM 大量修改子节点

AEM 的 JMX 控制台中 SessionStatistics 的含义

aem中的橡木版本升级

AEM 中 doFilter servlet 的调度程序白名单

以编程方式连接 LDAP 并在 AEM 中验证凭据