Elasticsearch - Preciso do driver JDBC?

Alvo

Para sincronizar meu servidor elasticsearch com dados novos e expirados no meu banco de dados SQL

Questão

Existem duas maneiras muito diferentes de conseguir isso e não sei qual é a melhor. Eu também possopuxar informações para elasticsearch com uma conexão direta ao banco de dados SQL usando o plug-in river JDBC. Alternativamente eu possoempurrar dados para elasticsearch usando o cliente PHP usando o código mostrado abaixo como um exemplo:

// The Id of the document
$id = 1;

// Create a document
$tweet = array(
    'id'      => $id,
    'user'    => array(
        'name'      => 'mewantcookie',
        'fullName'  => 'Cookie Monster'
    ),
    'msg'     => 'Me wish there were expression for cookies like there is for apples. "A cookie a day make the doctor diagnose you with diabetes" not catchy.',
    'tstamp'  => '1238081389',
    'location'=> '41.12,-71.34',
    '_boost'  => 1.0
);
// First parameter is the id of document.
$tweetDocument = new \Elastica\Document($id, $tweet);

// Add tweet to type
$elasticaType->addDocument($tweetDocument);

// Refresh Index
$elasticaType->getIndex()->refresh();

Eu ia ter um cron executado a cada trinta minutos para verificar itens no meu banco de dados que não apenas possuem um sinalizador "ativo", mas também não possuem um sinalizador "indexado", o que significa que preciso adicioná-los ao índice.

PERGUNTA, QUESTÃO

Visto que tenho dois métodos para sincronizar dados entre elasticsearch e mysql de duas maneiras diferentes, qual é a vantagem e a desvantagem de cada opção. Existe um caso de usuário específico que define o uso de um sobre o outro?

questionAnswers(3)

yourAnswerToTheQuestion