Tech Topics

RabbitMQ River

Another River implementation, RabbitMQ River allowing to automatically index a rabbitmq queue. The format of the messages follows the new bulk api format:

{ "index" : { "_index" : "twitter", "_type" : "tweet", "_id" : "1" }
{ "tweet" : { "text" : "this is a tweet" } }
{ "delete" : { "_index" : "twitter", "_type" : "tweet", "_id" : "2" } }
{ "create" : { "_index" : "twitter", "_type" : "tweet", "_id" : "1" }
{ "tweet" : { "text" : "another tweet" } }

Creating the rabbitmq river is as simple as:

curl -XPUT 'localhost:9200/_river/my_river/_meta' -d '{
    "type" : "rabbitmq",
}'

One of the nice features of this river is automatically bulking queue messages if the queue is overloaded, allowing for faster catchup with the messages streamed into the queue.

-shay.banon