Umbraco 4.7系统架构建议使用200K +节点

时间:2012-07-02 08:26:22

标签: c# sql-server umbraco

我需要在Umbraco 4.7上创建网站,我需要按价格和其他一些属性(大约10个)比较一些产品。我需要对信息进行搜索和排序,产品数量将超过200K +项目。我现在已经在30K测试了,看起来有点慢。那么,我的问题是:我应该如何构建我的系统? 通过使用umbraco节点,我可以如何提高200K +节点集合中的搜索速度? 或许我必须结合SQl服务器和umbraco,在这种情况下,我将确保我有最佳速度来处理这些数据? 如果您有任何经验或想法如何实施此解决方案,请提供一些提示。如果你有一些具体实现的链接,那就最好。

3 个答案:

答案 0 :(得分:2)

如果给出Umbraco,有三种架构选择:

首先在内容部分中将产品和产品范围添加为树结构 - 但是考虑到膨胀,这将导致app_data \ umbraco.config我认为200,000个产品会使速度变慢。

其次使用像ucommerce这样的产品目录产品,您可以在其中对产品进行编目,然后使用umbraco布局范围,产品,搜索页面 - 并挂钩到ucommerce API以从Sql Server中提取产品数据库。这将是更高性能和良好的支持,但ucommerce有一个费用元素(对于大型安装 - 你可以无需尝试),你不能设置个人范围管理。

最后,您可以推出自己的数据库和产品维护系统并添加自己的专用部分 - 但开发成本很高。

就个人而言,我会使用ucommerce或类似的产品/目录维护Umbraco add-id,因为这样可以避免降低Umbraco的速度,并为您提供预先编写的维护工具。

答案 1 :(得分:1)

我同意Amelvin关于你的选择。使用LinqToSql将数据卸载到自定义数据库实现将是一个有效的选项。这里的问题纯粹是从Umbraco身上消除了压力。

WRT搜索,我会认真考虑使用Examine。它旨在处理您正在谈论的数据量等等。它建立在Lucene.net之上,因此无论数据量多少都非常快。

答案 2 :(得分:0)

正如Digbyswift所提到的,使用“检查”来执行搜索,这比标准搜索快得多,并且在执行搜索时您没有访问数据库。