RRF (запрос NoSQL)
ОБЛАСТЬ ПРИМЕНЕНИЯ: NoSQL
Эта системная функция используется для объединения двух или более показателей, предоставляемых другими функциями.
Синтаксис
RRF(<function1>, <function2, ...>)
Аргументы
Description | |
---|---|
function1 |
Функция оценки, например VectorDistance или FullTextScore. |
function2 |
Функция оценки, например VectorDistance или FullTextScore. |
Примеры
Это пример гибридного поиска (поиск сходства векторов + 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]))
Замечания
- Для этой функции требуется регистрация в предварительной версии полнотекстового поиска NoSQL в Azure Cosmos DB.
- Для гибридного поиска также требуется регистрация в векторном поиске NoSQL в Azure Cosmos DB.
- Для этой функции требуется полнотекстовый индекс.
- Эта функция может использоваться только в
ORDER BY RANK
предложении и не может сочетаться сORDER BY
другими путями свойств. - Эта функция не может быть частью проекции (например,
SELECT FullTextScore(c.text, "keyword") AS Score FROM c
недопустимо.