设计 Sitecore 树以存储超过 100 万个项目

Designing a Sitecore tree to store more than 1Mn items

提问人:user3701750 提问时间:6/3/2014 最后编辑:Martin Daviesuser3701750 更新时间:6/3/2014 访问量:198

问:

我有 300+ 个“类别”(可分为 4 个子级别)项目和 1Mn+ 个“产品项目”要存储在 Sitecore 数据库中。 我正在设计 Sitecore 内容树。

我正在考虑两种选择,

选项 1 - 模型为"Category" --> Sub category .... --> "Product Items"

选项 2 - 单独对“类别”树进行建模,并单独对“产品项”进行建模。() 和 (Home -> Categories -> cat 1...Home -> Product Items -> All Product Items)

根据我的经验,如果我选择选项 1,如果我需要修改类别项目并发布,它会非常慢。(即使有一些增强功能)

选项 2 不会创建平衡良好的树,但类别节点的编辑速度会快得多。

请帮我解决这个问题。我正在使用 .Sitecore 7

Sitecore SiteCore7 信息架构

评论

1赞 Martin Davies 6/3/2014
这取决于产品的性质和分类。解决方案 2 如果产品可以是多个类别的成员,则可能更合适。无论哪种情况,我都倾向于将分类和产品存储在主节点之外,并可能使用通配符系统 marketplace.sitecore.net/en/Modules/Wildcard_module.aspx

答:

-2赞 Charles-Antoine Fournel 6/3/2014 #1

在我看来,解决方案 1 仍然是最好的解决方案。

创建一个全面而合乎逻辑的商店,作为“浴室类别中的沐浴和淋浴用品”,总是比同时拥有类别和没有类别的产品要好。

产品类别的全球利益是索引(对于人类,对于您的网站,对于搜索引擎)

使用Magento之类的CMS,您可以轻松管理带有类别的1M产品,并且可以根据需要编辑,移动类别,因此要完成我的回答,是的,answer1是最适合我的答案:)

编辑:对不起,我没有看到您已经在使用 sitecore

7赞 Mark Cassidy 6/3/2014 #2

您或多或少必须想出一个解决方案,将您存储在内容树的单独部分中。我绝对不建议您将一百万+产品项目直接放在各个类别项目下方。出于多种原因,包括:

  1. 正如你所说,性能。出于“seo 原因”,类别的变化将经常发生,以“跟随市场”。此外,“活动类别”(如“2014 年夏季特卖”)必然会不时出现
  2. 类别/产品关系的性质很少是 1 对 1。这意味着同一产品可以并且将存在于多个类别中(想想:金霸王电池同时存在于“电气”、“电池 - 不可充电”和“相机配件”类别中)

由于您使用的是 Sitecore 7,因此产品存储库的内置解决方案是将所有产品放入 Item Bucket 中。那么,对于构建产品/类别关系,您有两个(显而易见的)选择:

  1. 在“产品”中,设置名为“类别”的多列表字段,并添加产品所属的每个类别项的 ID
  2. 在“类别”中,设置搜索字段以从您的项目存储桶中选择产品

这实际上取决于如何管理此产品层次结构,以上哪一种最适合。

有关项目存储桶的信息,请访问:http://sdn.sitecore.net/Reference/Sitecore%207/Developers%20Guide%20to%20Item%20Buckets%20and%20Search.aspx

评论

1赞 Mark Cassidy 6/3/2014
正如马丁·戴维斯(Martin Davies)所指出的;完成此操作后,您需要解决产品解决方案。但无论如何,你都需要它来解决多个类别的产品、规范 url 等。通配符有效 - 我自己经常使用它们。