ruflin/Elastica — pull request #518 by xyu (2013-12-12 20:04:47+00:00)
Title: Send scroll_id via HTTP body instead of as query param

Elasticsearch scrolling queries can accept `scroll_id` either as a query
parameter or as the raw HTTP body. The Elastica should always pass the id
via HTTP body for safety.

The Elasticsearch `scroll_id` is a base64 encoded value that appears to be
a serialized string that contains key/value pair data for each shard in
the cluster. As the number of shards grow the size of `scroll_id`
increases proportionally. In addition by default Elasticsearch caps URLs
at 4kb as governed by the `http.max_initial_line_length` setting.

Thus as the size of a cluster grows at some point all scrolling queries
will fail if passed via the query parameter.