问题是:应该使用什么数据库模型、技术或模式来处理描述电子商务产品的属性“类”,这些属性可以在运行时更改?
在一个好的电子商务数据库中,你会存储选项的类别(比如电视分辨率,然后为每个电视设置一个分辨率,但下一个产品可能不是电视,也没有“电视分辨率”)。如何存储它们,高效搜索,并允许用户设置具有描述其产品的可变字段的产品类型?如果搜索引擎发现客户通常根据控制台深度搜索电视,您可以将控制台深度添加到您的字段中,然后在运行时为每个电视产品类型添加一个深度。
好的电子商务应用程序之间有一个很好的共同特点,它们显示一组产品,然后有“钻取”侧面菜单,在那里你可以看到“电视分辨率”作为标题,并找到最常见的五种电视分辨率。你点击其中一个,它只会显示该分辨率的电视,让你可以通过选择侧面菜单上的其他类别进一步进行钻取。这些选项将是运行时添加的动态产品属性。
进一步讨论:
所以长话短说,有没有互联网上的链接或模型描述可以“学术地”修复以下设置?感谢Noel Kennedy建议一个类别表,但需求可能更大。我在下面用不同的方式描述它,试图突出其重要性。我可能需要一种视角校正来解决问题,或者我可能需要深入EAV/CR中。
喜欢EAV/CR模型的积极反应。我的同事们都说Jeffrey Kemp在下面提到的话:“新实体必须由专业人士进行建模和设计”(摘自上下文,请阅读他下面的回复)。问题是:
- 每周添加和删除属性的实体
(搜索关键字决定未来的属性) - 每周有新的实体到达
(产品由零件组装而成) - 旧的实体每周消失
(归档、不太受欢迎、季节性)
客户想要为产品添加属性,原因有两个:
- 部门/关键字搜索/类似产品之间的比较图表
- 消费品配置结帐前
这些属性必须具有重要意义,而不仅仅是关键字搜索。如果他们想比较所有有“鲜奶油糖霜”的蛋糕,他们可以点击蛋糕,点击生日主题,点击鲜奶油糖霜,然后检查所有有趣的蛋糕,知道它们都有鲜奶油糖霜。这不是特定于蛋糕,只是一个例子。