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?