适用范围: NoSQL
此系统函数用于合并其他函数提供的两个或多个分数。
RRF(<function1>, <function2>, ..., <weights>)
说明 | |
---|---|
function1 |
评分函数,如 VectorDistance 或 FullTextScore。 |
function2 |
评分函数,如 VectorDistance 或 FullTextScore。 |
weights |
定义每个评分函数的重要性权重的数字数组。 |
这是混合搜索(矢量相似性搜索 + 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]))
此示例显示与两个 VectorDistance
函数的融合
- 此函数需要全文检索。
- 此函数只能在子
ORDER BY RANK
句中使用,不能与其他ORDER BY
属性路径结合使用。 - 此函数不能是投影的一部分(例如,
SELECT FullTextScore(c.text, "keyword") AS Score FROM c
无效。