Поделиться через


RRF (запрос NoSQL)

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

Эта системная функция используется для объединения двух или более показателей, предоставляемых другими функциями.

Синтаксис

RRF(<function1>, <function2, ...>)

Аргументы

Description
property_path Путь к свойству для поиска.
array_expr Массив nonempty строковых литерал.

Примеры

Это пример гибридного поиска (поиск сходства векторов + BM25 полнотекстовая оценка).

SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, ["keyword"]), VectorDistance(c.vector, [1,2,3]))

В этом примере показано слияние с двумя FullTextScore функциями

SELECT TOP 10 *
FROM c
ORDER BY RANK RRF(FullTextScore(c.text, ["keyword1"]), FullTextScore(c.text, ["keyword2"])

В этом примере показано слияние с двумя VectorDistance функциями

SELECT TOP 5 *
FROM c
ORDER BY RANK RRF(VectorDistance(c.vector1, [1,2,3]),VectorDistance(c.vector2, [2,2,4,4]))

Замечания

  • Для этой функции требуется регистрация в предварительной версии полнотекстового поиска NoSQL в Azure Cosmos DB.
  • Для гибридного поиска также требуется регистрация в векторном поиске NoSQL в Azure Cosmos DB.
  • Для этой функции требуется полнотекстовый индекс.
  • Эта функция может использоваться только в предложении ORDER BY RANK .
  • Эта функция не может быть частью проекции (например, SELECT FullTextScore(c.text, "keyword") AS Score FROM c недопустимо.