Skip to contents

Searches only the nearest nprobe center lists for each query. Every queried list is scanned exactly; with nprobe = postings$nlist, results match full exact Euclidean search. Fewer probes are approximate and have no recall guarantee. This returns one bounded batch, not a full graph.

Usage

massive_search_postings(
  query,
  postings,
  centers,
  first = 1,
  n = 256L,
  k = 30L,
  nprobe = NULL,
  reference_chunk = 8192L,
  n.cores = 1L,
  memory_limit = "1GB",
  exclude_self = FALSE
)

Arguments

query

A massive_matrix() query source.

postings

A result of massive_coarse_postings().

centers

The same centers used to build postings.

first

First one-based query row.

n

Number of query rows in this batch.

k

Number of nearest rows to return.

nprobe

Number of posting lists to scan per query; defaults to at most eight lists.

reference_chunk

Maximum posting rows read at once.

n.cores

CPU workers for distance calculations.

memory_limit

Conservative RAM budget for the batch.

exclude_self

Exclude matching row IDs. query must be the original source or the physical posting feature file; the latter uses the saved row-ID file to identify each query.

Value

Neighbor IDs, distances, candidate counts, and backend metadata.