该 FULLTEXTSCORE 函数返回一个 BM25 分数值,该值只能在子句中使用 ORDER BY RANK ,以对结果进行从最高相关性到指定字词的最低相关性。
Syntax
FULLTEXTSCORE(<property_path>, <string_expr1>, <string_expr2>, ...)
Arguments
| Description | |
|---|---|
property_path |
要搜索的属性路径。 |
string_expr1 |
要查找的第一个术语。 |
string_expr2 |
要查找的第二个术语。 |
返回类型
返回可用于 ORDER BY RANK 或 RRF.
例子
本部分包含有关如何使用此查询语言构造的示例。
ORDER BY RANK 的全文分数
在此示例中,函数 FULLTEXTSCORE 用于 ORDER BY RANK 从最高相关性到最低相关性进行排序。
SELECT TOP 10 c.text
FROM c
ORDER BY RANK FULLTEXTSCORE(c.text, "keyword")
-- Example result not available (result not provided in markdown)
使用 WHERE 和 ORDER BY RANK 的全文分数
在此示例中,函数 FULLTEXTSCORE 在子句中使用 ORDER BY RANK ,并在 FULLTEXTCONTAINS 子句中使用 WHERE 。
SELECT TOP 10 c.text
FROM c
WHERE FULLTEXTCONTAINS(c.text, "keyword1")
ORDER BY RANK FULLTEXTSCORE(c.text, "keyword1", "keyword2")
-- Example result not available (result not provided in markdown)
注解
- 此函数需要在 Azure Cosmos DB NoSQL 全文搜索功能中注册。
- 此函数需要全文索引。
- 此函数只能在子句中使用
ORDER BY RANK,或用作系统函数中的RRF参数。 - 此函数不能是投影的一部分(例如,
SELECT FullTextScore(c.text, "keyword") AS Score FROM c无效)。