Il mio consiglio è già di provare a utilizzare elasticsearch-jdbc-river per molte ragioni.
Uno di questi è che il elasticsearch-jbdc-river
è più generico nel caso tu decida di cambiare RDBMS .
Un altro è che il jbdc-river
è ancora mantenuto quando l'altro non lo è da 2 anni e da allora Elasticsearch si è evoluto molto.
I dati da MySQL dovrebbero essere trasmessi automaticamente da MySQL al cluster Elasticsearch senza limitazioni di timeout, ma il collo di bottiglia sarà la dimensione dell'heap JVM. Non sono sicuro di quanto hai bisogno per elaborare la quantità di dati che hai. Devi provarlo.
Elasticsearch è senza schema, quindi è necessario gestire all'interno di Elasticsearch . Il fiume trasmette semplicemente i dati al tuo cluster. Puoi definire la tua mappatura quando crei il tuo indice e quindi utilizzare il fiume per trasmetterlo in streaming al cluster ES.
Il fiume verrà sostituito con un altro modo più pulito per trasmettere questi dati, ma questa è la soluzione migliore che hai per ora.