背景

电商场景中,我们经常需要货品进行打标签操作简单来说就是货品进行各种分类,按照价格段进行分组,此时运营人员可以通过价格段捞取到满足条件商品了,本文就来简单看下这个场景如何clickhouse实现

货品标签

1.创建一种商品的明细表,包含每个商品的各种标签属性的表:

CREATE TABLE IF NOT EXISTS merchardis_src_tbl
    mid UInt64   //商品id
    category String //商品分类
    price Int32  // 商品价格
)ENGINE = ReplicatedMergeTree

2.创建一个标签属性的位图表表示对应标签下的商品列表

CREATE TABLE IF NOT EXISTS tag_bitmap_tbl
(
    tagname String,   --签名tagvalue String,  --标签值
    type  String //标签类型
    tagbitmap AggregateFunction(groupBitmap, UInt64 )  --mid集合
)
ENGINE = ReplicatedAggregatingMergeTree

3.从商品明细表中数据合成标签后放入标签表中

-- 导入数据,同一个分类的所有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

原文地址:https://blog.csdn.net/lixia0417mul2/article/details/134750373

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_35906.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注