Elasticsearch standard pagination using from and size perform very poorly on large datasets because, for every query, you need to compute and discard all the results before the from value. Scrolling doesn't have this problem, but it consumes a lot due to memory search contexts, so it cannot be used for frequent user queries.
To bypass these problems, Elasticsearch 5.x and above provides the search_after functionality, which provides a fast skipping for scrolling results.