# How to implement new 'river' for ES?

**URL:** <https://discuss.elastic.co/t/how-to-implement-new-river-for-es/6314>\
**Category:** Elasticsearch\
**Created:** [January 8, 2012, 10:56pm UTC](https://discuss.elastic.co/t/how-to-implement-new-river-for-es/6314 "2012-01-08T22:56:56Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nick\_Evgeniev](https://avatars.discourse-cdn.com/v4/letter/n/94ad74/32.png) [@Nick\_Evgeniev](https://discuss.elastic.co/u/Nick_Evgeniev)\
**Post date:** [January 8, 2012, 10:56pm UTC](https://discuss.elastic.co/t/how-to-implement-new-river-for-es/6314/1 "2012-01-08T22:56:56Z")

</div>

Hi,

I'm thinking about using ES to index FIX messages ([www.fixprotocol.org](http://www.fixprotocol.org)).  
Based on what I've read so far I need to implement river to push records to  
ES... I just doubt that json API is performant enough to push hundreds of  
thousands of FIX messages per second to ES... Is there  
howto/template/working example of how to do this?

Also, is implementing a river is the fastest way of pushing data to ES?

---

<div class="post-metadata">

**Author:** ![Karussell1](https://avatars.discourse-cdn.com/v4/letter/k/50afbb/32.png) [@Karussell1](https://discuss.elastic.co/u/Karussell1)\
**Post date:** [January 9, 2012, 7:45am UTC](https://discuss.elastic.co/t/how-to-implement-new-river-for-es/6314/2 "2012-01-09T07:45:13Z")

</div>

You can use json (bulk api) or Java's bulk api.

For the river you could have a look into the rss river:

> **[GitHub - dadoonet/rssriver: Elasticsearch Rss River (PROJECT STOPPED)](https://github.com/dadoonet/rssriver)**
>
> Elasticsearch Rss River (PROJECT STOPPED). Contribute to dadoonet/rssriver development by creating an account on GitHub.

Peter.

On 8 Jan., 23:56, Nick Evgeniev [nevgen...@gmail.com](mailto:nevgen...@gmail.com) wrote:

> Hi,
> 
> I'm thinking about using ES to index FIX messages ([www.fixprotocol.org](http://www.fixprotocol.org)).  
> Based on what I've read so far I need to implement river to push records to  
> ES... I just doubt that json API is performant enough to push hundreds of  
> thousands of FIX messages per second to ES... Is there  
> howto/template/working example of how to do this?
> 
> Also, is implementing a river is the fastest way of pushing data to ES?

---

<div class="post-metadata">

**Author:** ![Nick\_Evgeniev](https://avatars.discourse-cdn.com/v4/letter/n/94ad74/32.png) [@Nick\_Evgeniev](https://discuss.elastic.co/u/Nick_Evgeniev)\
**Post date:** [January 9, 2012, 1:41pm UTC](https://discuss.elastic.co/t/how-to-implement-new-river-for-es/6314/3 "2012-01-09T13:41:37Z")

</div>

Thank you, are there sample usages of java bulk api? I'm new to ES so  
samples are the best source of info to me 🙂

On 9 янв, 11:45, Karussell [tableyourt...@googlemail.com](mailto:tableyourt...@googlemail.com) wrote:

> You can use json (bulk api) or Java's bulk api.
> 
> For the river you could have a look into the rss river:[GitHub - dadoonet/rssriver: Elasticsearch Rss River (PROJECT STOPPED)](https://github.com/dadoonet/rssriver)
> 
> Peter.
> 
> On 8 Jan., 23:56, Nick Evgeniev [nevgen...@gmail.com](mailto:nevgen...@gmail.com) wrote:
> 
> > Hi,
> 
> > I'm thinking about using ES to index FIX messages ([www.fixprotocol.org](http://www.fixprotocol.org)).  
> > Based on what I've read so far I need to implement river to push records to  
> > ES... I just doubt that json API is performant enough to push hundreds of  
> > thousands of FIX messages per second to ES... Is there  
> > howto/template/working example of how to do this?
> 
> > Also, is implementing a river is the fastest way of pushing data to ES?

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [January 9, 2012, 3:19pm UTC](https://discuss.elastic.co/t/how-to-implement-new-river-for-es/6314/4 "2012-01-09T15:19:07Z")

</div>

Hi Nick,

If you read the source code, you will find some tips.

> <https://github.com/dadoonet/rssriver/blob/master/src/main/java/org/elasticsearch/river/rss/RssRiver.java#L229>

BTW, documentation exists here  
: [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/java-api/bulk.html)

HTH,  
David.

Le 9 janvier 2012 à 14:41, Nick Evgeniev [nevgeniev@gmail.com](mailto:nevgeniev@gmail.com) a écrit :

> Thank you, are there sample usages of java bulk api? I'm new to ES so  
> samples are the best source of info to me 🙂
> 
> On 9 янв, 11:45, Karussell [tableyourt...@googlemail.com](mailto:tableyourt...@googlemail.com) wrote:
> 
> > You can use json (bulk api) or Java's bulk api.
> > 
> > For the river you could have a look into the rss  
> > river:[GitHub - dadoonet/rssriver: Elasticsearch Rss River (PROJECT STOPPED)](https://github.com/dadoonet/rssriver)
> > 
> > Peter.
> > 
> > On 8 Jan., 23:56, Nick Evgeniev [nevgen...@gmail.com](mailto:nevgen...@gmail.com) wrote:
> > 
> > > Hi,
> > 
> > > I'm thinking about using ES to index FIX messages ([www.fixprotocol.org](http://www.fixprotocol.org)).  
> > > Based on what I've read so far I need to implement river to push records  
> > > to  
> > > ES... I just doubt that json API is performant enough to push hundreds of  
> > > thousands of FIX messages per second to ES... Is there  
> > > howto/template/working example of how to do this?
> > 
> > > Also, is implementing a river is the fastest way of pushing data to ES?  
> > > --  
> > > David Pilato  
> > > [http://dev.david.pilato.fr/](http://dev.david.pilato.fr/)  
> > > Twitter : @dadoonet

---

<div class="post-metadata">

**Author:** ![kimchy](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kimchy/32/44952_2.png) [@kimchy](https://discuss.elastic.co/u/kimchy)\
**Post date:** [January 12, 2012, 10:31am UTC](https://discuss.elastic.co/t/how-to-implement-new-river-for-es/6314/5 "2012-01-12T10:31:14Z")

</div>

You don't have to use a river to push data to elasticsearch, you can just  
use the APIs to index data to it. I suggest _not_ starting with a River,  
the code that pulls data and index it will be the same regardless of where  
it runs, so start with it.

On Mon, Jan 9, 2012 at 5:19 PM, [david@pilato.fr](mailto:david@pilato.fr) [david@pilato.fr](mailto:david@pilato.fr) wrote:

> \*\*
> 
> Hi Nick,
> 
> If you read the source code, you will find some tips.
> 
> [https://github.com/dadoonet/rssriver/blob/master/src/main/java/org/elasticsearch/river/rss/RssRiver.java#L229](https://github.com/dadoonet/rssriver/blob/master/src/main/java/org/elasticsearch/river/rss/RssRiver.java#L229)
> 
> BTW, documentation exists here :  
> [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/java-api/bulk.html)
> 
> HTH,
> 
> David.
> 
> Le 9 janvier 2012 à 14:41, Nick Evgeniev [nevgeniev@gmail.com](mailto:nevgeniev@gmail.com) a écrit :
> 
> > Thank you, are there sample usages of java bulk api? I'm new to ES so  
> > samples are the best source of info to me 🙂
> > 
> > On 9 янв, 11:45, Karussell [tableyourt...@googlemail.com](mailto:tableyourt...@googlemail.com) wrote:
> > 
> > > You can use json (bulk api) or Java's bulk api.
> > > 
> > > For the river you could have a look into the rss river:  
> > > [GitHub - dadoonet/rssriver: Elasticsearch Rss River (PROJECT STOPPED)](https://github.com/dadoonet/rssriver)
> > > 
> > > Peter.
> > > 
> > > On 8 Jan., 23:56, Nick Evgeniev [nevgen...@gmail.com](mailto:nevgen...@gmail.com) wrote:
> > > 
> > > > Hi,
> > > 
> > > > I'm thinking about using ES to index FIX messages (  
> > > > [www.fixprotocol.org](http://www.fixprotocol.org)).  
> > > > Based on what I've read so far I need to implement river to push  
> > > > records to  
> > > > ES... I just doubt that json API is performant enough to push  
> > > > hundreds of  
> > > > thousands of FIX messages per second to ES... Is there  
> > > > howto/template/working example of how to do this?
> > > 
> > > > Also, is implementing a river is the fastest way of pushing data to  
> > > > ES?
> 
> --  
> David Pilato  
> [http://dev.david.pilato.fr/](http://dev.david.pilato.fr/)  
> Twitter : @dadoonet

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 3:42am UTC](https://discuss.elastic.co/t/how-to-implement-new-river-for-es/6314/6 "2017-07-06T03:42:58Z")

</div>


