VectorDistance (requête NoSQL)
S’APPLIQUE À : NoSQL
Retourne le score de similarité entre deux vecteurs spécifiés.
Remarque
Si vous souhaitez obtenir plus d’informations, consultez Données d’emplacement géospatiales et GeoJSON.
Syntaxe
VECTORDISTANCE(<vector_expr1>, <vector_expr2>, [<bool_expr>], [<obj_expr>])
Arguments
Description | |
---|---|
spatial_expr_1 |
Un tableau de float32 ou plus petit. |
spatial_expr_2 |
Un tableau de float32 ou plus petit. |
bool_expr |
Un booléen spécifiant comment la valeur calculée est utilisée dans une expression ORDER BY. Si true , la force brute est utilisée. Une valeur de tire parti de false n’importe quel index défini sur la propriété vectorielle, s’il existe. La valeur par défaut est false . |
obj_expr |
Un objet littéral au format JSON utilisé pour spécifier des options pour le calcul de la distance vectorielle. Les éléments valides incluent distanceFunction et dataType . |
distanceFunction |
Métrique utilisée pour calculer la distance/la similarité. |
dataType |
Le type de données des vecteurs. float32 uint8 , int8 valeurs. La valeur par défaut est float32 . |
Les métriques distanceFunction
prises en charge sont les suivantes :
- cosinus, qui a des valeurs comprises entre -1 (le moins similaire) et +1 (le plus similaire).
- dotproduct, qui a des valeurs de -inf (moins similaire) à +inf (le plus similaire).
- euclide, qui a des valeurs comprises entre 0 (le plus similaire) et +inf (moins similaire).
Types de retour
Renvoie une expression numérique qui énumère le score de similarité entre deux expressions.
Exemples
Avec arguments requis
SELECT c.name, VectorDistance(c.vector1, c.vector2) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
Avec arguments facultatifs
SELECT c.name, VectorDistance(c.vector1, c.vector2, true, {'distanceFunction':'cosine', 'dataType':'float32',}) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
Notes
- Cette fonction nécessite l’inscription dans la fonctionnalité en préversion Recherche vectorielle NoSQL Azure Cosmos DB.
- Cette fonction bénéficie d’un index de vecteur
- si
false
est donné commebool_expr
facultatif, l’index vectoriel défini sur le chemin d’accès est utilisé, s’il en existe un. Si aucun index n’est défini sur le chemin de vecteur, cela revient à l’analyse complète et entraîne des frais de RU plus élevés et une latence plus élevée que si vous utilisez un index vectoriel. - Lorsqu’il
VectorDistance
est utilisé dans uneORDER BY
clause, aucune direction ne doit être spécifiée pour la mesure où les résultats sont toujours triés dans l’ordreORDER BY
de la plupart des mêmes (premiers) à moins similaires (dernier) en fonction de la métrique de similarité utilisée. - Le résultat est exprimé sous la forme d’un score de similarité.
Contenu connexe
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour