Mon conseil est déjà d'essayer d'utiliser le elasticsearch-jdbc-river pour de nombreuses raisons.
L'un d'eux est que le elasticsearch-jbdc-river
est plus générique au cas où vous décidez de changer de RDBMS .
Une autre est que le jbdc-river
est toujours maintenu alors que l'autre ne l'est plus depuis 2 ans, et Elasticsearch a beaucoup évolué depuis.
Les données de MySQL doivent être diffusées automatiquement de MySQL vers le cluster Elasticsearch sans limitation de délai, mais le goulot d'étranglement sera votre taille de tas JVM. Je ne sais pas de combien avez-vous besoin pour traiter la quantité de données dont vous disposez. Vous devez le tester.
Elasticsearch est sans schéma, vous devez donc gérer à l'intérieur d'Elasticsearch . La rivière diffuse simplement les données dans votre cluster. Vous pouvez définir votre mappage lorsque vous créez votre index, puis utiliser la rivière pour le diffuser dans le cluster ES.
La rivière sera remplacée par un autre moyen plus propre de diffuser ces données, mais c'est la meilleure solution que vous ayez pour l'instant.