使用ElasticSearch同步MySQL插入,更新和删除操作

时间:2015-07-29 09:16:46

标签: mysql jdbc elasticsearch elasticsearch-plugin databus

这是弹性搜索(ES)的一个相当常见的情况:由于ES接近实时,我们希望尽可能接近实时地与MySQL同步。 初始表被导入索引并且工作正常,但现在我们需要跟踪插入,更新和删除新记录,这里是我们有问题的地方。导入由elasticsearch-jdbc导入程序完成。它可以有一个interval参数来定期轮询数据,但是:

  1. 我们无法向db负责提取新的/更新的行,
  2. 我们希望有更多的原子操作,如数据库插入行 - > ES插入文档,数据库更新行 - > ES更新文档等。
  3. 可能满足我们需求的两个选项:

    欢迎其他解决方案!

1 个答案:

答案 0 :(得分:0)

使用logstash-input-jdbc插件的Logstash可以同步插入和更新操作。 错误删除操作无法直接同步。 我们更多地讨论了如何使用logstash-input-jdbc同步Mysql删除操作?在https://discuss.elastic.co/t/delete-elasticsearch-document-with-logstash-jdbc-input/47490/9