I want to synchronize an Elasticsearch index with the contents of an SQL database. The Elasticsearch JDBC river meets all my requirements, but in the documentation it is said that the plugin is deprecated.
I don't want to use a tool that won't be supported in the following years. What are the alternatives?
In the documentation of the river, it is said:
Note, JDBC plugin is not only a river, but also a standalone module. Because Elasticsearch river API is deprecated, this is an important feature.
Why is it an important feature? Does it mean that I can still use it indefinitely despite the deprecation, for example by using a feeder instead of a river?
Some alternatives:
The two solutions recommended on the ES blog are writing your solution or using Logstash. Choose the one that fits your requirements.
Note: a lot of great solutions are currently in development to replace the rivers, the logstash-jdbc input as an example. The deprecation of the rivers is quite recent and can expect that many replacements will emerge over the next months/years.
You're probably better off writing your own. Rivers don't have that much features and you will very probably need a finer grained control on your data access than what a river would allow you. There are 2 high level components you need:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With