# Dedicated bulk-loading socket interface?

**URL:** <https://discuss.elastic.co/t/dedicated-bulk-loading-socket-interface/6774>\
**Category:** Elasticsearch\
**Created:** [February 21, 2012, 6:41pm UTC](https://discuss.elastic.co/t/dedicated-bulk-loading-socket-interface/6774 "2012-02-21T18:41:32Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nate\_Sammons](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nate_sammons/32/2979_2.png) [@Nate\_Sammons](https://discuss.elastic.co/u/Nate_Sammons)\
**Post date:** [February 21, 2012, 6:41pm UTC](https://discuss.elastic.co/t/dedicated-bulk-loading-socket-interface/6774/1 "2012-02-21T18:41:32Z")

</div>

I'm evaluating ES for use in a very high volume messaging system processing  
hundreds of millions of messages per day. And they want search on top of  
that, of course 🙂

I see ES has a bulk-loading interface, however you basically are batching  
requests and still running over HTTP, etc. Does ES have a way to send  
these same commands into a dedicated socket or anything similar? Basically  
I'd have some number of sockets open to ES and feed it data I want to index  
as I'm processing message streams. If all else fails I'll probably write  
my own adapter, it doesn't seem like it would be terribly complicated to  
do, I just wanted to see if anyone else had had this issue before.

thanks,

-nate

"The sky calls to us. If we do not destroy ourselves, we will one day  
venture to the stars." -- Carl Sagan

---

<div class="post-metadata">

**Author:** ![Ivan](https://avatars.discourse-cdn.com/v4/letter/i/df788c/32.png) [@Ivan](https://discuss.elastic.co/u/Ivan)\
**Post date:** [February 21, 2012, 7:02pm UTC](https://discuss.elastic.co/t/dedicated-bulk-loading-socket-interface/6774/2 "2012-02-21T19:02:17Z")

</div>

Hi Nate,

You have two other options for sending data to ES, using the Java API  
and Thrift. The Java API/client does not communicate via REST/HTTP,  
but via a binary protocol. I am not aware of any other client beside  
the Java client that uses the binary protocol.

There is also an additional module that exposes the REST interface in Thrift:

> **[Elasticsearch Platform — Find real-time answers at scale](https://www.elastic.co)**
>
> Power insights and outcomes with the Elasticsearch Platform and AI. See into your data and find answers that matter with enterprise solutions designed to help you build, observe, and protect. Try Elasticsearch free today.

I have never used it, so I cannot comment on its usage.

--  
Ivan

On Tue, Feb 21, 2012 at 10:41 AM, Nate Sammons [nate@protomatter.com](mailto:nate@protomatter.com) wrote:

> I'm evaluating ES for use in a very high volume messaging system processing  
> hundreds of millions of messages per day. And they want search on top of  
> that, of course 🙂
> 
> I see ES has a bulk-loading interface, however you basically are batching  
> requests and still running over HTTP, etc. Does ES have a way to send  
> these same commands into a dedicated socket or anything similar? Basically  
> I'd have some number of sockets open to ES and feed it data I want to index  
> as I'm processing message streams. If all else fails I'll probably write my  
> own adapter, it doesn't seem like it would be terribly complicated to do, I  
> just wanted to see if anyone else had had this issue before.
> 
> thanks,
> 
> -nate
> 
> "The sky calls to us. If we do not destroy ourselves, we will one day  
> venture to the stars." -- Carl Sagan

---

<div class="post-metadata">

**Author:** ![Nate\_Sammons](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nate_sammons/32/2979_2.png) [@Nate\_Sammons](https://discuss.elastic.co/u/Nate_Sammons)\
**Post date:** [February 21, 2012, 7:33pm UTC](https://discuss.elastic.co/t/dedicated-bulk-loading-socket-interface/6774/3 "2012-02-21T19:33:57Z")

</div>

That's awesome, actually. I didn't even see the Java API, that's exactly  
what I need (all systems are java here anyway, so its not an issue).

thanks!

-nate

"The sky calls to us. If we do not destroy ourselves, we will one day  
venture to the stars." -- Carl Sagan

On Tue, Feb 21, 2012 at 12:02 PM, Ivan Brusic [ivan@brusic.com](mailto:ivan@brusic.com) wrote:

> Hi Nate,
> 
> You have two other options for sending data to ES, using the Java API  
> and Thrift. The Java API/client does not communicate via REST/HTTP,  
> but via a binary protocol. I am not aware of any other client beside  
> the Java client that uses the binary protocol.
> 
> There is also an additional module that exposes the REST interface in  
> Thrift:  
> [Elasticsearch Platform — Find real-time answers at scale | Elastic](http://www.elasticsearch.org/guide/reference/modules/thrift.html)
> 
> I have never used it, so I cannot comment on its usage.
> 
> --  
> Ivan
> 
> On Tue, Feb 21, 2012 at 10:41 AM, Nate Sammons [nate@protomatter.com](mailto:nate@protomatter.com)  
> wrote:
> 
> > I'm evaluating ES for use in a very high volume messaging system  
> > processing  
> > hundreds of millions of messages per day. And they want search on top of  
> > that, of course 🙂
> > 
> > I see ES has a bulk-loading interface, however you basically are batching  
> > requests and still running over HTTP, etc. Does ES have a way to send  
> > these same commands into a dedicated socket or anything similar?  
> > Basically  
> > I'd have some number of sockets open to ES and feed it data I want to  
> > index  
> > as I'm processing message streams. If all else fails I'll probably  
> > write my  
> > own adapter, it doesn't seem like it would be terribly complicated to  
> > do, I  
> > just wanted to see if anyone else had had this issue before.
> > 
> > thanks,
> > 
> > -nate
> > 
> > "The sky calls to us. If we do not destroy ourselves, we will one day  
> > venture to the stars." -- Carl Sagan

---

<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:38am UTC](https://discuss.elastic.co/t/dedicated-bulk-loading-socket-interface/6774/4 "2017-07-06T03:38:39Z")

</div>

Closed on July 6, 2017, 3:38am UTC


