律师事务所网站 备案,湖北建设信息网站 联系方式,建一个小型的购物网站服务器一年要多少钱,找人做网站需求怎么写背景
在电商场景中#xff0c;我们经常需要对货品进行打标签的操作#xff0c;简单来说就是对货品进行各种分类#xff0c;按照价格段进行分组#xff0c;此时运营人员就可以通过价格段捞取到满足条件的商品了#xff0c;本文就来简单看下这个场景如何在clickhouse中实现…背景
在电商场景中我们经常需要对货品进行打标签的操作简单来说就是对货品进行各种分类按照价格段进行分组此时运营人员就可以通过价格段捞取到满足条件的商品了本文就来简单看下这个场景如何在clickhouse中实现
货品标签
1.创建一种商品的明细表包含每个商品的各种标签属性的表:
CREATE TABLE IF NOT EXISTS merchardis_src_tblmid UInt64 //商品idcategory String //商品分类price Int32 // 商品价格
)ENGINE ReplicatedMergeTree2.创建一个标签属性的位图表表示对应标签下的商品列表
CREATE TABLE IF NOT EXISTS tag_bitmap_tbl
(tagname String, --标签名称tagvalue String, --标签值type String //标签类型tagbitmap AggregateFunction(groupBitmap, UInt64 ) --mid集合
)
ENGINE ReplicatedAggregatingMergeTree3.从商品明细表中把数据聚合成标签后放入标签表中
-- 导入数据, 将同一个分类的所有mid使用groupBitmapState函数合并成一个bitmap
INSERT INTO tag_bitmap_tbl
SELECT category,categoryName,商品类型 as type groupBitmapState(mid)
FROM merchardis_src_tbl
GROUP BY category,categoryName;自此我们就有了一张货品标签的属性表运营就可以基于这种表进行各种查询操作了
参考: https://bbs.huaweicloud.com/blogs/300331