销售区域细化到区域

1.现状:

商品按城市划分运营,销售区域精确到行政区,随着city数量越来越多,商品管理需要在不同城市重复上架,任务量很大。

2.目标:

支持全国统一管理,销售区域还是精确到行政区。

3.解决方案:

销售区域设计:

字段名数据类型备注例子
idinteger自增123456
codeinteger六位数字420102
namevarchar(255)地址名称湖北省武汉市江岸区二七街道

用户地址设计:

四级地址(0-42-4201-420102) 必须需要四级地址

技术实现:

查询语句:

post http://localhost:9202/promotionsku/promotionsku/_search 

{
    "query": {
        "bool": {
            "must": [
                {
                    "terms": {
                        "canSellAreaIds": [
                            0,
                            42,
                            4201,
                            420102
                        ]
                    }
                }
            ]
        }
    }
}

存储结构

                    "name": "可口可乐500ml(1*24)",
                    "brandId": 3688,
                    "brandName": "可口可乐",
                    "productType": 2,
                    "saleMode": 0,
                    "canSellAreaIds": [
                    	10000,
                        420102,
                        420102,
						420103,
						420104,
						420105,
						420106,
						420107,
						420111,
						420112,
						420113,
						420114,
						420115,
						420116,
						420117
                    ],

区域参照表:

codename
0全国
10北京市
42湖北省
4201武汉市
420102江岸区

性能评估:

使用四级地址,树状存贮结构,数据量和之前有cityId的时候一致,与现状比较不存在额外困难。

极端测试:

配置:

环境:test环境
区域:402
商品数量:1W
每个商品销售区域:5k
销售区域类型:Long
只根据saleAreaId查询,初次最大耗时282ms,正常是140ms,访问多次只有10-20ms:

实验数据

1.初次访问多次实验最大耗时
初次访问多次实验最大耗时
2.多次访问后Es自身缓存效果
多次访问后Es自身缓存效果

遇到的问题:

1.saleAreaId设置为1w个的时候,bulkIndex,报错requestBody too large json 解析失败,本次实验减少到5k,这个问题可以通过减少批量数解决。

扩展性

区域

操作区域未满区域满
没影响默认支持,如果需要不支持,运营手动修改成区域。
没影响没影响
没影响没影响

难点:

用户四级地址能否准确获取?
现有商家肯定支持四级地址,如果不全需要强制维护。

4.结论

1.销售区域全量存储,对于ES性能影响很小,存储空间大一些,但总量有限,没有压力。
2.在此基础上,以树的结构存储,能解决存储空间大的问题,查询性能没有额外压力。

期末大作业基于python的足球运动员数据分析源码+数据集(高分项目),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于python的足球运动员数据分析源码+数据集(高分项目)期末大作业基于pyth
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值