我们目前正在使用AEM 6.1构建一个大型站点,并将数十万条记录从旧的基于RDMS的系统迁移到AEM的JCR。我们知道1000+节点限制不适用于类型为nt:nontructured的节点,但是在使用cq:Page节点时我们遇到了限制。
我们当前的网站有这样的结构:
/
├── blog/
│ ├── some-blog-post
│ └── another-post
└── articles/
└── some-article
└── another-article
└── ...
└── ...
└── ...
我们在文章子树中有超过6000篇文章,我们必须维护面向消费者的网站的URL结构。我们使用的是经典用户界面,当您在AEM Siteadmin中展开文章文件夹时,我们当然会遇到性能问题。我们可以将文章拆分为Siteadmin中的其他目录,但我们必须维护网址的扁平结构。
在AEM中执行此操作的最佳方法是什么?我们不能在调度程序中执行此操作,因为调度程序无法知道在JCR层次结构中映射请求的位置。
答案 0 :(得分:5)
如果以可预测的方式拆分内容,您确实可以在HTTP前端使用URL重写来提供扁平的URL结构。
例如,/articles/s/so/some-blog-post
可以在两个方向上可靠地映射到/articles/some-blog-post
。
这需要创作方面的一些逻辑,以确保您的页面路径是根据这样的规则构建的。
请注意,在类似博客的内容中处理此问题的常用方法是在帖子路径前加上2016/02/29/some-blog-post
之类的创建日期,这样可以提供一个漂亮而有意义的层次结构。