【发布时间】:2013-06-14 00:22:36
【问题描述】:
我正在查看 Sitecore 市场中可用的站点地图模块,似乎它正在使用类似于
的东西[Pseudocode and several lines combined]
var items = database.Items[Factory.GetSite(siteName).rootpath].Axes.GetDescendants();
然后按模板 id 过滤预期项目,并按项目 id 排除意外项目。
我只是想知道.. 这不是 root.Descendants 的东西对性能的影响呈指数级增长吗? Sitecore 的新手,所以请说明一下。此外,如果我只是想获得所有项目(满足某些条件,例如已发布,最重要的是,可能基于主模板或其他东西......即我正在寻找一种方式,我不必像那样选择模板,因为如果我实现了我自己的版本,它没有 GUI(例如通用处理程序)然后当然映射出 ID 会非常难看)然后有更好的方法吗? (非常有信心有一个!)
【问题讨论】:
-
根据项目的数量可能会造成性能损失,但如果您缓存站点地图,则只有一次命中。如果你为你的项目建立索引,那么你可以从 Lucene 自己创建它。
-
感谢您对 Lucene 的建议。我需要检查它是否被索引。如果不是,那么这可能就是我们首先需要做的。
标签: sitecore sitemap sitecore6