一.ES实现特点
mysql数据库存储商品实时数据,做更多条件查询,全部查询、插入、删除等。
ES数据库主要是模糊查询 商品数据
ES也是查询mysql数据库
二、ES实现步骤
1.数据同步
同步数据时机
定义商品服务返回数据接口
定义商品feignClient
准备dsl语句,在ES库中创建商品存储对应的索引结构,等同于java中的表结构。
定义商品DOC模型,商品在ES中的索引插入到搜索服务中,定义存储ES数据的实体类。
2.模糊搜索
3.商品服务进行商品的插入删除等,mysql数据库实时改变,ES数据库也要更新。 配置rabbitmq,异步通信机制。
三、搜索服务
第一次启动:数据应该再启动就进行商品服务的数据查询和同步
第二次;商品服务DML动作,都需要通知搜索服务同步
注意ES的技术特点,商品服务修改和添加搜索的都是插入,删除对应的是搜索的删除。
四、具体实现
1.商品服务有一套功能提供全部数据功能 /product/list
2.定义一个productClient
3.更新搜索服务的数据