一尘不染

从Oracle /关系表将数据索引到弹性搜索的更好方法是什么?

java

有什么选项可将大数据从Oracle DB索引到弹性搜索集群? 要求将3亿条记录一次索引到多个索引中,并且每天要进行大约100万次更改的增量更新。

我已经尝试了用于Elasticsearch river / feeder的
JDBC插件,两者似乎都在内部运行或需要本地运行的弹性搜索实例。请让我知道是否有更好的选择将弹性搜索索引器作为独立作业运行(可能基于Java)。任何建议将非常有帮助。谢谢。


阅读 155

收藏
2020-12-03

共1个答案

一尘不染

我们将ES用作报告数据库,并且在将新记录写入SQL时,我们将采取以下措施将其添加到ES中:

  1. 将主键写入队列(我们使用rabbitMQ)
  2. Rabbit获取主键(如果有时间),并查询关系数据库以获取所需的信息,然后将数据写入ES

此过程非常有效,因为它可以处理新数据和旧数据。对于旧数据,只需编写一个快速脚本以将300M主键写入Rabbit,即可完成!

2020-12-03