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
недопустимо.