商品系统 之 类目及其属性

背景:为了构建以供应链为中心的可售商品中心和已供应商后台为中心的原始商品池体系,需要将商品、类目、属性、品牌纳入供应链体系之中;在商品运营中,类目和类目属性的运营尤为重要,对引导用户成交有非常大影响,所以为了丰富商品类目&属性,进行商品类目、属性的构建;在丰富了商品类目属性后,一些技术数据就可以落在类目上,比如商品的描述属性、规格属性、管理属性(毛利率等),可以通过这部分数据快速创建标准化的SPU、SKU数据。

一、了解类目属性在运营中的地位与发展:

淘宝类目的发展历史:

二、淘宝商品类目属性体系结构:

taobao-category-history

三、类目设计:

类目在一般电商系统中会分为前台类目和后台类目,前台类目可以关联到任何一级的后台类目中,前台类目主要用于有利于前段销售,变动频率比后台类目高,后台类目就像标准化的商品分类,一般定义之后不会进行变更。
后台类目的结构设计:
 category-table-design
后台类目表设计需要做到灵活的可扩展性都会做到无限层级,所以会使用parent_id、parent_name 、root_id、root_name的方式。
增加minimum_scope 和 maximum_scope字段是为了快速查找出节点类目。
增加 leaf_node 字段是因为一些类目或属性在一些场景下需要区分是否是叶子类目。
后台类目主要需要解决的技术问题是 快速的查询性能,通过子类目查询所有上游类目可以通过parentId去查询,如果期望通过父类目查询所有的子类目,一个简单sql是无法完成的,这个时候就需要通过scope实现,在每个类目上计算最小值和最大值,这样就可以通过最小值和最大值这个范围区间查出所有的子类目了。结构如下:
category-scope

每次类目的增加都需要重新计算一次scope范围,但是后台类目的查询远远大于修改,所以为提高查询效率付出的努力是值得的。
计算类目scope的方法基本有两种:①通过递归计算,但是递归无法进行回溯,所以在写入最小值的时候就需要提前知道所有的子类目节点个数;②采用回溯法;
前台类目的设计结构:
前台类目比后台类目灵活,可以关联到多个后台类目,可以关联到单个或者多个商品列表,可以关联到多个搜索关键字,也可以关联到某一个活动页。
category-front-table-design

四、类目属性设计:

为了类目属性的灵活度使用和统一管理,抽取类目属性项表和类目属性值表,其次,为了方便新品的创建,还创建了一个类目属性模板;
 
属性分类:
类目属性项的类型分为规格属性、描述属性、公共属性、附属属性等。
规格属性用于表示同一SPU下不同SKU的规格,比如iphone的内存大小、颜色等;
描述属性是对SPU的一种补充元素,一般在商品详情页中需要展示给用户,比如适用人群、材质等;
公共属性一般配置在非叶子节点类目上,属性对所有直接点生效;
附属属性一般不对外,用于存储一些类目的毛重、毛利率、税率等;
属性项:
attribute-key-table-design
属性值:
attribute-value-table-design
类目叶子节点属性模板:
attribute-template-table-design
属性模板中的attribute_content配置了类目关联了那些属性项和可选的属性值范围,当然也需要考虑那些属性项是否必填。这里面比较繁琐的是类目属性的解析工作。其次,我们还需要考虑类目属性变更后对已经创建完毕后的SPU、SKU数据的影响。在使用使用过程中,这种把类目属性隐射关系存储为JSON格式的方式非常头疼,当需要统计或者查询部分数据的时候变得异常复杂和效率低下,所以如果这里尽可能拆开存储,不建议采用JSON格式存储。

四、类目属性的使用:

通过属性模板配置了属性数据后,就可以在创建新品的时候带出这部分数据了,所以无论是京东还是淘宝抑或1688的后台中创建新品都会先进行类目的选择:
(京东后台)
jd-create-new-product
(1688后台)
1688-create-new-product
Advertisements

商品系统 之 类目及其属性》上有2条评论

发表评论

Fill in your details below or click an icon to log in:

WordPress.com 徽标

You are commenting using your WordPress.com account. Log Out /  更改 )

Google photo

You are commenting using your Google account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

Connecting to %s