I've seen alot of discussion on the user-list about logstash and the river feature of elasticsearch.
This is how I index my events from logstash. All of my events come into logstash via amqp with the routing event.raw.
. Once Logstash processes them it outputs them back to amqp with the routing key event.processed.
. I then have this worker that gets all "processed" messages and sets them up for elasticsearch to recieve. It them shoves them back up with routing key event.indexed.
.