How to detect changes in database and automatically adding new row to elasticsearch index

What I've already done:

I connected my hbase with elasticsearch via this tutorial:

And I get index with hbase table content, but after adding new row to
hbase, it is not automatically added to elasticsearch index. I tried to add
this line to my conf:

"schedule" : "* 1/5 * ? * *"

and mapping:

"mappings": {
"jdbc" : {
"_id" : {
"path" : "ID"

which assigns _id = ID, and ID has unique value in my hbase table.

It's working well: when I add new row to hbase it is uploaded to index in
less then 5 minutes. But it is not good for performance, because every 5
minutes it executes a query and doesn't add old content to index only
because of _id has to be unique. It is good for small db, but I had over 10
millions row in my hbase table, so my index is working all time.

It is any solution or plugin to elasticsearch to automatically detected
changes in db and add only the new row to index?

I create index using:

curl -XPUT 'localhost:9200/_river/jdbc/_meta' -d '{
"type" : "jdbc",
"jdbc" : {
"url" : "jdbc:phoenix:localhost",
"user" : "",
"password" : "",
"sql" : "select ID, MESSAGE from test",
"schedule" : "* 1/5 * ? * *"

Thanks for help.

You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit
For more options, visit