HnswIndex class
See HnswIndex.new.
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