一、它是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。
一、另一方面,这些“属性|属性值对”在SPU中固化下来,逐步标准化。
基于SPU的商品信息结构,可以实现丰富的应用,比如商品信息与资讯、评论、以及其它SPU的整合。
例如:iPhone X 可以确定一个产品即为一个SPU。
电商相关产品中,SPU与SKU的概念非常常见,也非常重要。对于新入门的电商小白来说,常常会不明白这两个词的意思。
SPU:Standard Product Unit 标准化产品单元。
SKU:Stock Keeping Unit 最小存货单位。
通俗来说,SPU在电商产品下代表着一个外壳,用来表示商品的定位。SKU则代表用户实际购买到的商品。
例如:苹果X是一个SPU外壳,他让用户点击进这个外壳内,苹果X 黑色 256GB代表着一个SKU,用户进入到SPU内,选择了黑色 256GB版本的SKU。也就是说,用户实际购买的是一个SKU商品。
而在大多数电商体系中,SPU用来表示在商品列表中(京东算是个特殊例子,京东的商品列表直接显示了SKU信息),SKU则通常为点击SPU下的一个具体规格。
而库存、订单、实际金额等,则在SKU下进行设置。
这个问题的核心点在于:不同商品类别差异很大,如何设计通用的存储方案?简单来说,用数据库去存储所有信息,不管横表还是纵表,都有明显的缺陷:横表:同一个字段对不同商品含义不一样,这到了后面开发和维护是很蛋疼的纵表:一个商品的属性分布到很多行记录中,业务处理很麻烦,而且纵表的记录数会非常多,性能会有问题所以不要尝试只用数据库去统一解决这个问题,思路扩散一些其实就简单了:公共表:提炼商品公共的信息放到数据库,例如商品id、名称、发布的商家、发布日期、上架状态扩展表:将变化的信息放到另外一个表,可以是数据库表,例如电脑商品一个表、服装一个表;也可以将信息放到MongoDB或者ElasticSearch这类文档数据库。搜索组件:扩展表在全文搜索的时候不好实现,因此需要独立的组件负责搜索,可以用Elastic Search或者Solr来冗余一份数据,用于搜索。表结构不算复杂,因为项目关系只有SPU,没有涉及到SKU,但是可以做参考,更多的还是要根据项目实际情况设计。重点说明一下产品表的SPU,Keyword字段。本来之前设计了关系表,但是发现在做SQL查询时太痛苦,所以约定了一种数据存储结构(数据结构的重要性)基于上面的基础,可以实现URL规则变化的查询,类似京东的产品查询URL变化c=1,3 指分类层次关系ev=3_1+4_18 指SPU查询 按约定规则转换成字符串再进行查询。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)