这段时间一直在忙着重构公司之前的搜索业务这块,由于公司之前的搜索使用的是基于mysql的方案,因为里面涉及到一些主从搜索,分表搜索,索引整体上比较复杂,重构期间要花很多时间理解业务跟数据表之间的关系,理清之后呢,还要结合elasticsearch的特性开始重构整个搜索平台。

    由于公司是使用Hessian搭建的RPC服务,拿到服务包之后便开始基于elasticsearch的API实现搜索方案了,下面主要列一下重构的主要步骤,然后在依次做介绍:


  • 搭建elasticsearch集群服务,这个比较简单。

  • 编写初始化数据的Job,该Job主要的步骤就是,把mysql里面的数据信息通过任务复制到ES集群中,这只是一个初始化的过程。

  • 定时更新数据信息,首先编写触发器,要是数据发生改变就触发触发器,然后有个任务定时去触发器table里面查询是否有数据发生改变,发生改变则更新ES集群的数据。

  • 针对服务接口,分别实现相关服务。