scroll

abstract fun scroll(name: String, pageSize: Int = 64, configure: ScrollBuilder.() -> Unit = {}): Flow<Record>

Stream all points (optionally filtered) as a cold Flow, transparently following the server's pagination cursor. Cancellation and backpressure are cooperative.

qdrant.scroll("docs", pageSize = 256) { filter { must { "lang" eq "en" } } }
.collect { record -> /* ... */}

Points arrive ordered by id unless the builder sets an orderBy. Qdrant returns no page cursor for an ordered scroll, so this follows the order value instead and drops the points a page repeats at the boundary; a point is therefore emitted exactly once either way.

Parameters

pageSize

how many points to fetch per request.

Throws

if an ordered scroll cannot advance because more than pageSize points share one order value, or the server returned a page without order values.