The question is about scrolling in ES v.5.1 cluster architecture.
In the docs, there's a nice explanation of the deep pagination problem with from/size:
you know from that what the coordinating node and each shard computes whenever a new page is being requested.
Could someone explain how scrolling works at the same level of abstraction?
- Which node does the search context reside on in the cluster?
- What does the search context contain after the initial search? (all documents matching the query? some of them? any reference to the segments cotaining the documents matching the query? something else?)
- What do particular shards do when the initial search is launched?
- What's the responsability of the coordination node when the initial search is launched?
- What do particular shards do when the scroll API to get the next bunch of data is lauched?
- What's the responsability of the coordination node when the scroll API to get the next bunch of data is lauched?
- Does scroll support sorting in 5.1 (only sorting by _doc is mentioned as the most efficient option)?
- How does the scroll relates to query_then_fetch | dfs_query_then_fetch search types? In 2.x the search_type had to be SCAN, right?
- Can scrolling be combined with routing?
- What is the sliced scroll for? Any use case where it could be useful would be appreciated.
- Finally, is it for maintenance purposes exclusively?
Thanks in advance,