Pobieranie zmian z tabeli za pomocą rzeki ElasticSearch JDBC
Konfiguruję rzekę JDBC dla ElasticSearch, ale nie mogę znaleźć żadnego dobrego przykładu konfiguracji. Przeczytałem wszystkostron naelasticsearch-river-jdbc GitHub.
Mam zapytanie SQL i muszę pobierać zmiany ze wszystkich kolumn tabeli co X sekund. Jak mogę powiedzieć rzece JDBC, że jakiś wiersz został zmieniony i powinien zostać ponownie zindeksowany?
Dane są pobierane podczas uruchamiania serwera ES, odpytywanie ma miejsce, ale zmiany nie są pobierane z DB do ES.
Moja konfiguracja:
curl -XPUT 'localhost:9200/_river/itemsi/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"driver" : "com.mysql.jdbc.Driver",
"url" : "jdbc:mysql://mydb.com:3306/dbname",
"user" : "yyy",
"password" : "xxx",
"sql" : "SELECT ii.id AS _id, ii.id AS myid, ... FROM ... LEFT JOIN .. ON...",
"poll" : "6s",
"strategy" : "simple"
},
"index" : {
"index" : "invoiceitems",
"bulk_size" : 600,
"max_bulk_requests" : 10,
"bulk_timeout" : "5s",
}
}'
Dziękuję Ci.