Let's say I have a million documents I want to index. I am aware that you 
can index 100 documents at a time or 1000 at a time using the bulk API. 
However I could also write my HTTP client to stream all one million 
documents as bytes with a single bulk API call. This would be advantageous 
because the number of round-trips would be reduced which would reduce HTTP 
overhead. In addition, I will have predictable memory usage on the client. 
In a batch, there could be documents that are a few KB, a few MB, or a few 
GB. This means it can be hard to predict the memory requirements of the 
client. With byte streaming, the memory requirements are whatever I set the 
buffer to.

My question: does the ES server support streaming a large API call? Or does 
it store the entire API call in memory and then process it? I have the same 
question for search results but in reverse.


-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/6e494a74-3ffb-4afb-88af-61f2fb799eee%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to