2016-04-25 167 views
0

我们希望将我们的数据库的一部分从PostgreSQL转移到Elastic:基本上我们想要将三个表(Properties,ListingsAddresses)合并到单个文档中。RoR:从PostgreSQL迁移到Elastic

我找不到任何标准工具和可能,因为我们有一个Ruby on Rails应用程序中,pimpliest和最可靠的方法将是写一个迁移将只通过该模型迭代,他们撰写成单文件并保存到Elastic。

该任务似乎并不复杂,但因为这是我第一次使用Elastic的经验,所以我想与社区进行核对。

感谢。

回答

1

我最不喜欢的是JDBC importer。但是,我认为编写自己的脚本可能同样快。

有一个postgres函数row_to_json,它会将结果行转换为JSON,然后发布到elasticsearch中。我没有意识到会自动为你做这件事。假设它不是数十亿行,我会坚持你的计划,编写一个简短的脚本来运行你的查询,然后HTTP将结果发布到elasticsearch中。

您需要决定两件事:索引名称和文档类型。

一些注意事项:

  • 像Postgres的关系型数据库,并最终一致性文档存储像elasticsearch之间的一致性模型有很大的不同。你应该意识到这些差异和它们的缺点。
  • 您可能希望elasticsearch中的数据被去标准化,因为没有可靠的联接方式。
+0

谢谢!我不知道可以在Elastic中强制执行数据一致性。 – lessless