你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

RRF(NoSQL 查询)

适用范围: NoSQL

此系统函数用于合并其他函数提供的两个或多个分数。

语法

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

参数

说明
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]))

注解

  • 此函数需要在 Azure Cosmos DB NoSQL 全文搜索预览功能注册。
  • 混合搜索还需要在 Azure Cosmos DB NoSQL 矢量搜索注册。
  • 此函数需要全文检索
  • 此函数只能在子 ORDER BY RANK 句中使用,不能与其他 ORDER BY 属性路径结合使用。
  • 此函数不能是投影的一部分(例如,SELECT FullTextScore(c.text, "keyword") AS Score FROM c 无效。