Azure AI 検索 の OData search.score 関数

注意

Azure AI 検索は、Azure ポータル、REST API、およびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。

$orderby パラメータをせずに Azure AI 検索 にクエリを送信すると、返される結果は関連性スコアで降順に並べ替えられます。 $orderby を使用する場合でも、既定では、関連性スコアを使用して優先順位が決められます。 ただし、関連性スコアを最初の並べ替え条件として使用し、その他のいくつかの条件を判断基準として使用するのが便利な場合もあります。 この記事にある例では、並べ替えに search.score 関数を使用する方法を示します。

注意

関連性スコアは関連性ランク付けアルゴリズムによって計算され、使用するアルゴリズムによって範囲が異なります。 詳細については、Azure AI 検索での関連性とスコアリングに関するページを参照してください。

構文

search.score における の構文は search.score() です。 関数 search.score には、いかなるパラメーターも取得されません。 フルテキスト クエリの場合は、$orderby パラメーターの他の句と同様に、ascまたは並べ替え順序指定子desc使用できます。 これは並べ替え条件のリスト内の任意の場所に配置できます。

例

search.scoreとrating順にホテルを降順に並べ替え、指定した座標からの距離で昇順に並べ替え、同じ関連性スコアと評価を持つ 2 つのホテルの間に最も近いものが最初に表示されるようにします。

    search.score() desc,rating desc,geo.distance(location, geography'POINT(-122.131577 47.678581)') asc

Limitations

純粋ベクタークエリまたはハイブリッド クエリに$orderbyでsearch.score()を使用することはできません。 サービスは、HTTP 400 InvalidRequestParameter エラーでこれらの要求を拒否します。 要求を修正するには、$orderbyからsearch.score()を削除します。

次のステップ