VectorDistance (dotaz NoSQL)
PLATÍ PRO: NoSQL
Vrátí skóre podobnosti mezi dvěma zadanými vektory.
Poznámka:
Další informace naleznete v tématu Geoprostorová a GeoJSON data o poloze.
Syntaxe
VECTORDISTANCE(<vector_expr1>, <vector_expr2>, [<bool_expr>], [<obj_expr>])
Argumenty
Popis | |
---|---|
spatial_expr_1 |
float32 Pole nebo menší. |
spatial_expr_2 |
float32 Pole nebo menší. |
bool_expr |
Logická hodnota určující způsob použití vypočítané hodnoty ve výrazu ORDER BY. Pokud true se použije hrubá síla. Hodnota využití libovolného false indexu definovaného u vektorové vlastnosti, pokud existuje. Výchozí hodnota je false . |
obj_expr |
Literál objektu ve formátu JSON, který slouží k určení možností pro výpočet vektorové vzdálenosti. Platné položky zahrnují distanceFunction a dataType . |
distanceFunction |
Metrika použitá k výpočtu vzdálenosti a podobnosti. |
dataType |
Datový typ vektorů. float32 , int8 uint8 hodnoty. Výchozí hodnota je float32 . |
Podporované metriky pro distanceFunction
:
- kosinus, který má hodnoty od -1 (nejméně podobné) na +1 (nejvíce podobné).
- dotproduct, který obsahuje hodnoty od -inf (nejméně podobné) na +inf (nejvíce podobné).
- euclidean, který má hodnoty od 0 (nejvíce podobné) na +inf (nejméně podobné).
Návratové typy
Vrátí číselný výraz, který vyčíslí skóre podobnosti mezi dvěma výrazy.
Příklady
S požadovanými argumenty
SELECT c.name, VectorDistance(c.vector1, c.vector2) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
S volitelnými argumenty
SELECT c.name, VectorDistance(c.vector1, c.vector2, true, {'distanceFunction':'cosine', 'dataType':'float32',}) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
Poznámky
- Tato funkce vyžaduje registraci ve funkci Azure Cosmos DB NoSQL Vector Search ve verzi Preview.
- Tato funkce využívá vektorový index.
- pokud
false
je uvedena jako volitelnábool_expr
, použije se vektorový index definovaný v cestě, pokud existuje. Pokud není na vektorové cestě definován žádný index, vrátí se k úplné kontrole a bude se účtovat vyšší poplatky za RU a vyšší latence než při použití vektorového indexu. - Pokud
VectorDistance
se použije vORDER BY
klauzuli, není nutné proORDER BY
výsledky zadat žádný směr, protože výsledky jsou vždy seřazeny v pořadí od většiny podobných (první) k nejnižší (poslední) na základě použité metriky podobnosti. - Výsledek se vyjadřuje jako skóre podobnosti.
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro