VectorDistance (consulta NoSQL)
SE APLICA A: NoSQL
Devuelve la puntuación de similitud entre dos vectores especificados.
Nota:
Para obtener más información, consulte Datos de ubicación geoespaciales y GeoJSON.
Sintaxis
VECTORDISTANCE(<vector_expr1>, <vector_expr2>, [<bool_expr>], [<obj_expr>])
Argumentos
Descripción | |
---|---|
spatial_expr_1 |
Una matriz de float32 o menor. |
spatial_expr_2 |
Una matriz de float32 o menor. |
bool_expr |
Un valor booleano que especifica cómo se usa el valor calculado en una expresión ORDER BY. Si es true , se usa por fuerza bruta. Un valor de false aprovecha cualquier índice definido en la propiedad vectorial, si existe. El valor predeterminado es false . |
obj_expr |
Un literal de objeto con formato JSON usado para especificar opciones para el cálculo de la distancia vectorial. Los elementos válidos incluyen distanceFunction y dataType . |
distanceFunction |
Métrica que se usa para calcular la distancia o similitud. |
dataType |
El tipo de datos de los vectores. Valores float32 , float16 , int8 y uint8 . El valor predeterminado es float32 . |
Las métricas admitidas para distanceFunction
son:
- coseno, que tiene valores de -1 (menos similares) a +1 (más similares).
- dotproduct, que tiene valores de -inf (menos similares) a +inf (más similares).
- euclideano, que tiene valores de 0 (más similares) a +inf (menos similares).
Tipos de valores devueltos
Devuelve una expresión numérica que enumera la puntuación de similitud entre dos expresiones.
Ejemplos
Con argumentos necesarios
SELECT c.name, VectorDistance(c.vector1, c.vector2) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
Con argumentos opcionales
SELECT c.name, VectorDistance(c.vector1, c.vector2, true, {'distanceFunction':'cosine', 'dataType':'float32',}) AS SimilarityScore
FROM c
ORDER BY VectorDistance(c.vector1, c.vector2)
Comentarios
- Esta función requiere la inscripción en la característica en vista previa Vector de búsqueda de Azure Cosmos DB for NoSQL.
- Esta función se beneficia de un índice vectorial.
- Si
false
se da comobool_expr
opcional, se usa el índice vectorial definido en la ruta de acceso, si existe uno. Si no se define ningún índice en la ruta de acceso vectorial, se revierte al examen completo e incurre en cargos de RU más altos y una latencia mayor que si se usa un índice vectorial. - Cuando
VectorDistance
se usa en unaORDER BY
cláusula , no se puede especificar ninguna dirección para ,ORDER BY
ya que los resultados siempre se ordenan en orden de la mayoría de los similares (primero) a los menos similares (último) en función de la métrica de similitud utilizada. Si se especifica una dirección comoASC
oDESC
, se produce un error. - El resultado se expresa como una puntuación de similitud.
Contenido relacionado
- System functions (Funciones del sistema)
- Configure Azure Cosmos DB for NoSQL para el vector de búsqueda.
- índice vectorial
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de