IvfFlatIndex class
Cell-probe inverted-file index over dense vectors. FAISS
IndexIVFFlat port.
Lifecycle: train(samples) → add(id, v)… → search(q, k).
Parameters:
- nlist — number of Voronoi cells (k-means centroids). Larger = smaller lists (faster search) but need more training data.
- nprobe — how many nearest cells to scan at query time. 1 lower-bound (fastest, lowest recall); nlist upper-bound (equivalent to a Flat scan).
- defaultMetric — scoring metric at search time. The coarse quantizer is always L2 (matches FAISS).
Constructors
- IvfFlatIndex(int dim, {required int nlist, int nprobe = 1, VectorMetric defaultMetric = VectorMetric.l2sq, int seed = 1234, int niter = 25})
Properties
- defaultMetric → VectorMetric
-
final
- dim → int
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isTrained → bool
-
no setter
- length → int
-
no setter
-
liveIds
→ Iterable<
Object?> -
V50: snapshot of all ids across every cell.
no setter
- nlist → int
-
final
- nprobe ↔ int
-
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
add(
Object? id, Vector v) → void -
Add
vunder keyid. Requires train to have been called. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
removeId(
Object? id) → bool -
Remove the first entry whose id equals
id. O(nlist + cellSize). -
search(
Vector query, int k, {VectorMetric? metric, int? nprobe}) → List< VectorSearchHit> -
Top-
knearest neighbors ofqueryundermetric(or defaultMetric). Optional per-callnprobeoverrides the field. -
toJson(
) → Map< String, Object?> - Serialize the trained coarse quantizer + every populated cell.
-
toString(
) → String -
A string representation of this object.
inherited
-
train(
List< Vector> samples) → void -
Train the coarse quantizer on
samples. Must be called once before add.samplesshould be representative of the data distribution and contain at least nlist vectors.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
fromJson(
Map< String, Object?> j) → IvfFlatIndex - Reconstruct an IvfFlatIndex from toJson output.