2017-10-05 2 views
0

objectif final: Pour vous connecter ElasticSearch et kafka et recevoir l'événement de changement en cours dans les index ES à kafka. De kafka, je les auditeurs à faire un traitement ultérieur.ElasticSearch à l'événement Kafka - à chaque changement en utilisant Logstash

Méthode: I utilisé Logstash entrée et sortie greffons. Voici le code de configuration.

input { 
     elasticsearch { 
       hosts => ["localhost:9200"] 
       index => "liferay-20116" 
     } 
} 
output { 
     kafka { 
     topic_id => "elastic-topic-index" 
     codec => json 
     } 
} 

Il fonctionne, mais il y a une question bizarre.

Quand j'écoute KAFKA il lit tout le document de ES qui est d'environ 176 documents en ce moment.

Une fois qu'il lit, il arrête pendant un certain temps dire 2 secondes, puis lisez tout 176 documents à nouveau!

Je ne sais pas quelle est la question, est-ce à cause du comportement Logstash ou Kafka agit bizarre?

Toute aide serait appréciée!

+0

Voulez-vous envoyer des documents entrants si le match une requête? Dans ce regard de cas à https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-percolate-query.html –

Répondre

0

Ce comportement est standard de ce plug-in - il suffit de pousser la comparaison de données à requête donnée. Si vous voulez avoir des documents que modifiés, la seule solution consiste à construire cette connaissance de ce qui vous changé - par exemple, vous devez avoir l'horodatage pour les entrées, puis intégrer ces connaissances dans la requête qui est envoyée à ES.

+0

Vous voulez donc dire son plugin d'entrée ElasticSearch qui pousse des données-à-dire tous les 176 doc à dire toutes les 2 secondes à KAFKA? Je pense que cela devrait se produire quand il y a un changement de ES non toutes les 2 secondes. –

+0

Je ne sais pas pourquoi pousser le plugin toutes les 2 secondes, mais le plugin qu'exécuter requête - il ne sait rien de ce qui a changé dans ES. –

+0

Merci. En fait, je l'ai compris. Cela ne marchera pas à coup sûr. L'écriture d'un billet de blog sur la même et partageront :) –