Package io.objectbox.model
Class HnswDistanceType
java.lang.Object
io.objectbox.model.HnswDistanceType
The distance algorithm used by an HNSW index (vector search).
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final shortCosine similarity compares two vectors irrespective of their magnitude (compares the angle of two vectors).static final shortFor normalized vectors (vector length == 1.0), the dot product is equivalent to the cosine similarity.static final shortA custom dot product similarity measure that does not require the vectors to be normalized.static final shortThe default; typically "Euclidean squared" internally.static final shortFor geospatial coordinates aka latitude/longitude pairs.static final String[]static final shortNot a real type, just best practice (e.g. -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
Unknown
public static final short UnknownNot a real type, just best practice (e.g. forward compatibility)- See Also:
-
Euclidean
public static final short EuclideanThe default; typically "Euclidean squared" internally.- See Also:
-
Cosine
public static final short CosineCosine similarity compares two vectors irrespective of their magnitude (compares the angle of two vectors). Often used for document or semantic similarity. Value range: 0.0 - 2.0 (0.0: same direction, 1.0: orthogonal, 2.0: opposite direction)- See Also:
-
DotProduct
public static final short DotProductFor normalized vectors (vector length == 1.0), the dot product is equivalent to the cosine similarity. Because of this, the dot product is often preferred as it performs better. Value range (normalized vectors): 0.0 - 2.0 (0.0: same direction, 1.0: orthogonal, 2.0: opposite direction)- See Also:
-
Geo
public static final short GeoFor geospatial coordinates aka latitude/longitude pairs. Note, that the vector dimension must be 2, with the latitude being the first element and longitude the second. Internally, this uses haversine distance.- See Also:
-
DotProductNonNormalized
public static final short DotProductNonNormalizedA custom dot product similarity measure that does not require the vectors to be normalized. Note: this is no replacement for cosine similarity (like DotProduct for normalized vectors is). The non-linear conversion provides a high precision over the entire float range (for the raw dot product). The higher the dot product, the lower the distance is (the nearer the vectors are). The more negative the dot product, the higher the distance is (the farther the vectors are). Value range: 0.0 - 2.0 (nonlinear; 0.0: nearest, 1.0: orthogonal, 2.0: farthest)- See Also:
-
names
-
-
Constructor Details
-
HnswDistanceType
private HnswDistanceType()
-
-
Method Details
-
name
-