Бөлісу құралы:


VectorDistance (запрос NoSQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL

Возвращает оценку сходства между двумя указанными векторами.

Примечание.

Дополнительные сведения см. в разделе геопространственные и геопространственные данные расположения GeoJSON.

Синтаксис

VectorDistance(<vector_expr1>, <vector_expr2>, [<bool_expr>], [<obj_expr>])  

Аргументы

Description
spatial_expr_1 Массив float32 или меньше.
spatial_expr_2 Массив float32 или меньше.
bool_expr Логическое значение, указывающее, как вычисляемое значение используется в выражении ORDER BY. Если trueиспользуется метод подбора. Значение использует любой индекс, определенный в свойстве вектора false , если он существует. Значение по умолчанию: false.
obj_expr Форматированный литерал объекта JSON, используемый для указания параметров вычисления векторного расстояния. Допустимые элементы включают distanceFunction и dataType.
distanceFunction Метрика, используемая для вычисления расстояния или сходства.
dataType Тип данных векторов. float32uint8, , int8значения. Значение по умолчанию: float32.

Поддерживаемые метрики:distanceFunction

  • cosine, который имеет значения от -1 (наименее похожих) к +1 (наиболее похожим).
  • dotproduct, который имеет значения от -∞ () (-infнаименее похожие) на +∞ () (+infнаиболее похожие).
  • euclidean, который имеет значения из (наиболее похожих) на 0 +∞ (+inf) (наименее похожий).

Типы возвращаемых данных

Возвращает числовое выражение, которое перечисляет оценку сходства между двумя выражениями.

Примеры

Этот первый пример включает только необходимые аргументы.

SELECT VALUE {
  name: s.name, 
  similarityScore: VectorDistance(s.vector1, s.vector2)
}
FROM 
  source s
ORDER BY 
  VectorDistance(s.vector1, s.vector2)

В следующем примере также содержатся необязательные аргументы.

SELECT VALUE {
  name: s.name, 
  similarityScore: VectorDistance(s.vector1, s.vector2, true, {'distanceFunction':'cosine', 'dataType':'float32',})
}
FROM 
  source s
ORDER BY 
  VectorDistance(s.vector1, s.vector2)

Замечания

  • Для этой функции требуется регистрация в предварительной версии функции поиска векторных векторов Azure Cosmos DB.
  • Эта функция получает преимущества от векторного индекса
  • Если false он указан как необязательный bool_expr, используется индекс вектора, определенный в пути, если он существует. Если индекс не определен в пути вектора, эта функция возвращается к полному сканированию и вызывает более высокие затраты на ЕЗ и более высокую задержку, чем при использовании векторного индекса.
  • Если VectorDistance используется в ORDER BY предложении, направление не должно быть указано для ORDER BY результатов, так как результаты всегда отсортированы по порядку наиболее похожих (сначала) до наименее похожих (последний) на основе используемой метрики сходства.
  • Результат выражается как оценка сходства.