FULLTEXTSCORE関数は BM25 スコア値を返します。BM25 スコア値は、指定された用語の関連性が最も高いものから最も関連性が低いものまで結果を並べ替えるために、ORDER BY RANK句でのみ使用できます。
構文
FULLTEXTSCORE(<property_path>, <string_expr1>, <string_expr2>, ...)
論争
| Description | |
|---|---|
property_path |
検索するプロパティ パス。 |
string_expr1 |
検索する最初の用語。 |
string_expr2 |
検索する 2 番目の用語。 |
戻り値の型
ORDER BY RANKまたはRRFで使用できる BM25 スコアリングを返します。
例示
このセクションでは、このクエリ言語コンストラクトを使用する方法の例を示します。
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は無効です)。