VectorDistance (NoSQL-fråga)
GÄLLER FÖR: NoSQL
Returnerar likhetspoängen mellan två angivna vektorer.
Kommentar
Mer information finns i Geospatiala och GeoJSON-platsdata.
Syntax
VECTORDISTANCE(<vector_expr1>, <vector_expr2>, [<bool_expr>], [<obj_expr>])
Argument
beskrivning | |
---|---|
spatial_expr_1 |
En matris med float32 eller mindre. |
spatial_expr_2 |
En matris med float32 eller mindre. |
bool_expr |
Ett booleskt värde som anger hur det beräknade värdet används i ett ORDER BY-uttryck. Om true används brute force. Ett värde för false utnyttjar alla index som definierats för vektoregenskapen, om det finns. Standardvärdet är false . |
obj_expr |
En JSON-formaterad objektliteral som används för att ange alternativ för vektoravståndsberäkningen. Giltiga objekt inkluderar distanceFunction och dataType . |
distanceFunction |
Måttet som används för att beräkna avstånd/likhet. |
dataType |
Datatypen för vektorerna. float32 , int8 , uint8 värden. Standardvärdet är float32 . |
Mått som stöds för distanceFunction
är:
- cosinin, som har värden från -1 (minst lika) till +1 (mest liknande).
- dotproduct, som har värden från -inf (minst liknande) till +inf (mest liknande).
- euclidean, som har värden från 0 (mest liknande) till +inf (minst liknande).
Returtyper
Returnerar ett numeriskt uttryck som räknar upp likhetspoängen mellan två uttryck.
Exempel
Med nödvändiga argument
SELECT c.name, VectorDistance(c.vector1, c.vector2) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
Med valfria argument
SELECT c.name, VectorDistance(c.vector1, c.vector2, true, {'distanceFunction':'cosine', 'dataType':'float32',}) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
Kommentarer
- Den här funktionen kräver registrering i förhandsversionen av Azure Cosmos DB NoSQL Vector Search.
- Den här funktionen drar nytta av ett vektorindex
- om
false
anges som valfrittbool_expr
används det vektorindex som definierats på sökvägen, om det finns något. Om inget index har definierats på vektorsökvägen återgår detta till fullständig genomsökning och medför högre RU-avgifter och högre svarstid än om du använder ett vektorindex. - När
VectorDistance
används i enORDER BY
sats behöver ingen riktning anges förORDER BY
eftersom resultaten alltid sorteras i ordning efter de flesta liknande (först) minst lika (sista) baserat på likhetsmåttet som används. - Resultatet uttrycks som en likhetspoäng.
Relaterat innehåll
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för