HnswIndex class

Constructors

HnswIndex({required int dimensions, int? neighborsPerNode, int? indexingSearchCount, HnswFlags? flags, VectorDistanceType? distanceType, double? reparationBacklinkProbability, int? vectorCacheHintSizeKB})
Parameters to configure HNSW-based approximate nearest neighbor (ANN) search. Some of the parameters can influence index construction and searching. Changing these values causes re-indexing, which can take a while due to the complex nature of HNSW.
const

Properties

dimensions int
Dimensions of vectors; vector data with fewer dimensions are ignored. Vectors with more dimensions than specified here are only evaluated up to the given dimension value. Changing this value causes re-indexing.
final
distanceType VectorDistanceType?
The distance type used for the HNSW index; if none is given, the default VectorDistanceType.euclidean is used.
final
flags HnswFlags?
See HnswFlags.new.
final
hashCode int
The hash code for this object.
no setterinherited
indexingSearchCount int?
Aka "efConstruction": the number of neighbor searched for while indexing (default: 100). The higher the value, the more accurate the search, but the longer the indexing. If indexing time is not a major concern, a value of at least 200 is recommended to improve search quality. Changing this value causes re-indexing.
final
neighborsPerNode int?
Aka "M": the max number of connections per node (default: 30). Higher numbers increase the graph connectivity, which can lead to more accurate search results. However, higher numbers also increase the indexing time and resource usage. Try e.g. 16 for faster but less accurate results, or 64 for more accurate results. Changing this value causes re-indexing.
final
reparationBacklinkProbability double?
When repairing the graph after a node was removed, this gives the probability of adding backlinks to the repaired neighbors. The default is 1.0 (aka "always") as this should be worth a bit of extra costs as it improves the graph's quality.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
vectorCacheHintSizeKB int?
A non-binding hint at the maximum size of the vector cache in KB (default: 2097152 or 2 GB/GiB). The actual size max cache size may be altered according to device and/or runtime settings. The vector cache is used to store vectors in memory to speed up search and indexing.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited