VectorDistance (NoSQL-query)
VAN TOEPASSING OP: NoSQL
Retourneert de overeenkomstscore tussen twee opgegeven vectoren.
Notitie
Zie Georuimtelijke en GeoJSON-locatiegegevens voor meer informatie.
Syntaxis
VECTORDISTANCE(<vector_expr1>, <vector_expr2>, [<bool_expr>], [<obj_expr>])
Argumenten
Beschrijving | |
---|---|
spatial_expr_1 |
Een matrix van float32 of kleiner. |
spatial_expr_2 |
Een matrix van float32 of kleiner. |
bool_expr |
Een Booleaanse waarde die aangeeft hoe de berekende waarde wordt gebruikt in een ORDER BY-expressie. Als true , dan wordt brute kracht gebruikt. Een waarde van het gebruik van false een index die is gedefinieerd op de vectoreigenschap, als deze bestaat. De standaardwaarde is false . |
obj_expr |
Een letterlijke waarde van een JSON-indeling die wordt gebruikt voor het opgeven van opties voor de berekening van vectorafstand. Geldige items zijn onder andere distanceFunction en dataType . |
distanceFunction |
De metrische waarde die wordt gebruikt voor het berekenen van afstand/overeenkomsten. |
dataType |
Het gegevenstype van de vectoren. float32 uint8 , waardenint8 . De standaardwaarde is float32 . |
Ondersteunde metrische gegevens voor distanceFunction
zijn:
- cosinus, die waarden heeft van -1 (minst vergelijkbaar) met +1 (meest vergelijkbaar).
- dotproduct, dat waarden van -inf (minst vergelijkbaar) heeft met +inf (meest vergelijkbaar).
- euclidean, die waarden heeft van 0 (meest vergelijkbaar) met +inf (minst vergelijkbaar).
Retourtypen
Retourneert een numerieke expressie die de overeenkomstscore tussen twee expressies opsommen.
Voorbeelden
Met vereiste argumenten
SELECT c.name, VectorDistance(c.vector1, c.vector2) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
Met optionele argumenten
SELECT c.name, VectorDistance(c.vector1, c.vector2, true, {'distanceFunction':'cosine', 'dataType':'float32',}) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
Opmerkingen
- Voor deze functie is inschrijving vereist in de preview-functie van Azure Cosmos DB NoSQL Vector Search.
- Deze functie profiteert van een vectorindex
- als
false
wordt opgegeven als de optionelebool_expr
, dan wordt de vectorindex die op het pad is gedefinieerd, gebruikt, indien aanwezig. Als er geen index is gedefinieerd op het vectorpad, wordt deze teruggezet naar volledige scan en worden hogere RU-kosten en hogere latentie in rekening gebracht dan wanneer een vectorindex wordt gebruikt. - Wanneer
VectorDistance
wordt gebruikt in eenORDER BY
component, hoeft er geen richting te worden opgegeven,ORDER BY
omdat de resultaten altijd worden gesorteerd in de volgorde van de meeste vergelijkbare (eerste) op het minst vergelijkbare (laatste) op basis van de metrische overeenkomsten die worden gebruikt. - Het resultaat wordt uitgedrukt als een overeenkomstscore.
Gerelateerde inhoud
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor