ElasticSearch 搜索引擎服务
1 应用背景
RMIS 第8章 · 大数据查询性能优化
ElasticSearch(简称ES)是一种企业级搜索引擎,解决关系型数据库在大数据量下的查询性能瓶颈。
| 对比维度 | 关系型数据库 | ElasticSearch |
|---|---|---|
| 模糊查询 | 索引可能失效,全表扫描 | 全文索引,毫秒级响应 |
| 聚合查询 | 数据量大时性能线性下降 | 分布式聚合,效率更高 |
| 相关性排序 | 简单排序 | TF-IDF相关性匹配,最相关内容优先 |
| 扩展性 | 垂直扩展为主 | 水平扩展,轻松应对增长 |
2 RMIS 使用 ES 的模块
RMIS 第8章 · 已接入ES的查询界面
1. 实时销售监测 — 单品合计 & 流水明细
- 每次查询最多返回1000条;点击"加载更多明细"可继续加载
- 勾选"是否丢弃原始数据":显示新的至多1000条;不勾选:累加显示
2. 商品全景视图 — 销售查询 → 销售明细
- 通过全景视图直接查询商品销售流水明细
查询规则:
销售日期跨度 < 6个月 → 走ES查询(快速)
销售日期跨度 ≥ 6个月 → 回退到本地数据库查询
销售日期跨度 < 6个月 → 走ES查询(快速)
销售日期跨度 ≥ 6个月 → 回退到本地数据库查询
3 关键参数与配置
RMIS 第8章 · 启用ES的必要参数
| 参数名称 | 说明 | 推荐值 |
|---|---|---|
| 是否启用ES查询销售流水 | 开启后查询走ES引擎 | 是 |
| 是否启用销售流水存ES | 每日POS销售流水自动写入ES | 是 |
| ES服务地址 | 格式:http://IP:端口/api/SalesFlowQuery/Service | 如 http://192.168.1.6:8888/api/... |
注意:启用ES需先完成ES服务端安装部署,具体步骤参考安装手册。实施建议:各项目根据自身数据量酌情启用,数据量小的项目不一定需要。
多业态资料编码中心
4 业务背景
RMIS 第8章 · 多业态商品/供应商编码统一管理
随着小业态(便利店等)快速扩张,客户在原架构上增加了不同业态。不同业态的部门、品类划分不同,但集中式下系统不支持多套部门/品类层级结构树。以往通过分布式部署解决,但多数据库导致基础资料无法共享。
解决思路:
- 在资料中心(总部)维护供应商、合同信息
- 在分区总部维护商品基本资料——审核时通过Web服务调用总部生成编码
- 总部生成编码/条码/PLU码后返回,分区更新到单据中
数据流向:
分区(新建商品)→ Web服务调用 → 总部(生成编码)→ 返回编码 → 分区(写入单据)
总部(维护资料)→ DTS传输 → 分区(同步)
分区(新建商品)→ Web服务调用 → 总部(生成编码)→ 返回编码 → 分区(写入单据)
总部(维护资料)→ DTS传输 → 分区(同步)
5 关键参数
RMIS 第8章 · 启用编码中心的前提条件
| 参数 | 说明 |
|---|---|
是否启用资料编码中心 | 总开关,默认"否"。必须设为"是"并同时配置服务地址 |
资料编码中心服务地址 | 格式:IP:端口(如 127.0.0.1:8001) |
编码中心必须预先拥有的数据:
- 所有分区的供应商信息(
tb_partner)及编码参数:代码形成规则、前缀等 - 所有分区的商品信息(
tb_gds)及编码参数:一码多品开关、PLU码位数、编码生成方式、组条码前缀等 - 所有分区的条码信息(
tb_barcode)及店内码前缀 - 参数:供应商名称重复处理方法、是否自动生成店内码
6 涉及改造的模块
RMIS 第8章 · 审核流程中集成编码中心
| 模块 | 改造内容 |
|---|---|
| 供应商信息变更单 | 增加供应商时调用 |
| 商品建档申请单 | 审核时生成商品编码、条码、PLU码 |
| 商品引入申请单 | 新品引入时生成编码 |
| 商品条码变更单 | 增加条码、设置主条码、新增削价条码时调用 |
| 商品分级销售定义单 | 审核时生成PLU码 |
| 组合销售定义单 | 保存时即调用(非审核时) |
7 信息验证与编码匹配机制
RMIS 第8章 · 智能去重与自动编码
供应商编码:
- 用户自定义编码 → 验证唯一性,已存在则报错
- 未定义 → 按"名称+类型+税务登记号"匹配已有供应商;匹配到且参数为"不允许重复"时复用编码
- 未匹配到 → 自动生成新编码并记录
商品编码:
- 包含供应商编码时 → 先匹配条码,再匹配"名称+规格+单位+产地+类型"
- 匹配成功 → 返回已有编码、条码、PLU码
- 未匹配且编码为空 → 自动生成
实施要点:
1. 关闭新增商品、新增条码的分布式传输
2. 如需各业态商品档案一致:总部通过商品信息变更单修改 → DTS传到分区(排除品类、部门字段)
3. 商品信息变更单模块的限制类型改为"总部"
1. 关闭新增商品、新增条码的分布式传输
2. 如需各业态商品档案一致:总部通过商品信息变更单修改 → DTS传到分区(排除品类、部门字段)
3. 商品信息变更单模块的限制类型改为"总部"