Scrolling through a dataset
Scroll is designed for iterating through points, optionally constrained by a payload filter, rather than ranking the dataset by vector similarity. It is useful for exports, migrations, reindexing, cleanup jobs, and administrative scans.
Vector search answers a different question: which points are most similar to this query vector? If the goal is to visit every point matching a condition, repeatedly running similarity searches is both semantically wrong and computationally wasteful.
Scroll uses continuation state so the caller can request the next portion of the dataset. This makes it suitable for processing large collections without loading the entire result set into application memory.
A common mistake is using offset-like search pagination to walk a whole collection. Search is optimized for ranked retrieval, while scroll is designed for systematic traversal. Exact pagination and ordering details are version-dependent.
Scroll is for systematic traversal rather than similarity ranking
Scroll is useful for migrations, exports, and bulk processing
Filters can restrict which points are traversed
Continuation state avoids repeatedly scanning from the beginning
You need to process every document whose status is archived. Would you use vector search or Scroll? Why?
Why is loading all matching Qdrant points into application memory a poor approach for millions of points?
A migration job must process 50 million points in batches and resume after failure. How would you use Scroll?
A developer repeatedly performs vector searches with increasing limits to enumerate a collection. What design problem do you see?
A long-running scroll job runs while points are being inserted and deleted. What consistency and checkpointing questions would you investigate?
You need to re-embed every point in a collection without overwhelming Qdrant. How would you combine Scroll with controlled batch writes?
You need a reliable, restartable data-migration framework over a very large Qdrant collection. How would you design checkpoints, concurrency, backpressure, and failure recovery around Scroll?
A compliance export must be complete and auditable while writes continue. How would you reason about snapshot consistency and traversal semantics?