FULLTEXTSCORE - Cosmos DB 中的查询语言

FULLTEXTSCORE 函数返回一个 BM25 分数值,该值只能在子句中使用 ORDER BY RANK ,以对结果进行从最高相关性到指定字词的最低相关性。

Syntax

FULLTEXTSCORE(<property_path>, <string_expr1>, <string_expr2>, ...)

Arguments

Description
property_path 要搜索的属性路径。
string_expr1 要查找的第一个术语。
string_expr2 要查找的第二个术语。

返回类型

返回可用于 ORDER BY RANKRRF.

例子

本部分包含有关如何使用此查询语言构造的示例。

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 无效)。