我想使用elasticsearch-river-mysql来连续地将数据从MySQL数据库传输到ElasticSearch。我是ES和河流的初学者,所以我希望你能帮助我解决我的问题。
答案 0 :(得分:6)
我的建议是尝试使用elasticsearch-jdbc-river有很多原因。
其中之一是elasticsearch-jbdc-river
在您决定切换 RDBMS 时更通用。
另一个原因是jbdc-river
仍然维持,而另一个人自2年以来还没有维持,而Elasticsearch从此进化了很多。
<强> 1。据我所知,数据将从MySQL数据库流式传输到ES集群,ES集群将自动对其进行索引。那是对的吗?是否有任何超时或限制我必须注意?
来自MySQL的数据应自动从MySQL流式传输到Elasticsearch集群,没有超时限制,但瓶颈将是您的JVM堆大小。我不确定您需要处理多少数据。你需要测试它。
<强> 2。关系数据库表之间的外键关系如何转换为ES?包含外键的表行是否将成为ES文档的内部对象,或者将使用ES文档之间的某些其他关系?
Elasticsearch是无模式的,因此您需要manage to the inside Elasticsearch。河流只是将数据流入您的群集。您可以在创建索引时定义映射,然后使用河流将其流式传输到ES群集中。
第3。在上述目的中使用这条河有什么不利之处吗?
河流将被另一种清洁方式取代,以便传输这些数据,但这是您现在拥有的最佳解决方案。