Two strategies for avoiding the scan
Every approximate index is built on one of two ideas, and knowing which you are using explains its behaviour.
Partitioning divides the space into regions, and a query searches only the regions likely to contain neighbours. You skip most of the data by deciding, cheaply, that it cannot be relevant. IVF is the canonical example.
Graph traversal connects each vector to a set of neighbours and walks the graph greedily toward the query. You never consider most of the data because you never reach it. HNSW is the canonical example.
The two have different characters. Partitioning has a hard failure mode at boundaries: a true neighbour sitting in an unprobed partition is simply never seen, and no amount of care within the probed partitions recovers it. Graph traversal degrades more gracefully, because the greedy walk can route around a poor local decision, but it costs far more memory for the edges.
A third idea, quantization, is orthogonal to both. It compresses the vectors themselves so each distance computation is cheaper and the whole index fits in less memory. It composes with either strategy, which is why production indexes are usually named as combinations.
The rest of this lesson takes each in turn, then shows how they compose.

