Sdílet prostřednictvím


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 truese 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, int8uint8 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 v ORDER BY klauzuli, není nutné pro ORDER 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.