Elasticsearch全文检索企业开发记录总结(一):整体架构

一、需求背景

项目背景:开发项目为酒店预订App,ES实现全文检索功能,类携程app酒店搜索
项目架构:基于maven管理,SSM框架、mysql数据库

二、架构设计

整体架构设计模块分为:
  • ES客户端java API底层调用模块
  • ES数据同步模块
  • 业务数据处理模块

    同步模块的实现:
    1、整个全文检索业务关系增加了redis队列
    2、应用层与全文检索服务解耦
    3、同步任务放到事件调度服务,采用线程池机制,具备失败自动重试一定次数机制

ES数据同步设计

队列数据设计:
数据结构:{“i”:“75”,“o”:2,“r”:0,“t”:9}
i:数据id,对应数据库唯一标识(主键)
o:操作类型,例如:新增、修改、删除等。
r:已经重试次数
t:同步类型,例如:酒店、房价等。

三、开发流程

  1. elasticsearch5.4.0 环境部署 及插件 ik + head +kibana等的安装与配置
  2. 根据业务需求完成数据库表与ES数据的交互格式的设计
  3. 创建Mapping、导入数据
  4. 创建ES客户端,JAVA API的方法封装供业务层调用
  5. 编写业务同步模块、ES业务处理服务模块
  6. 利用多线程进行队列消费实现数据同步

四、后期维护

针对ES数据同步开发独立的功能进行细粒度业务数据同步,以完成相应的业务需求维护
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值