次の方法で共有


Azure AI Search でセマンティック ランカーでスコアリング プロファイルを使用する

スコアリング プロファイルは、セマンティックにランク付けされた検索結果に適用できます。スコアリング プロファイルは最後に処理されます。

スコアリング プロファイルが決定スコアを確実に提供するために、セマンティック ランカーは、セマンティックにランク付けされた結果にスコアリング プロファイル ロジックを適用する応答フィールド ( @search.rerankerBoostedScore) を追加します。 レベル 1 のランク付けからの @search.score 、セマンティック ランカーからの @search.rerankerScore@search.reRankerBoostedScoreを含む検索結果では、結果は @search.reRankerBoostedScore順に並べ替えられます。

Prerequisites

Limitations

セマンティックにランク付けされた結果のブーストは、スコアリング プロファイル関数にのみ適用されます。 スコアリング プロファイルが重み付けされたテキスト フィールドのみで構成されている場合、ブーストはありません。

スコアリング プロファイルを使用したセマンティック構成のしくみ

スコアリング プロファイルに関連付けられているセマンティック クエリを実行すると、検索結果のすべてのドキュメントに対して 3 番目の検索スコア ( @search.rerankerBoostedScore 値) が生成されます。 このブースト スコアは、スコアリング プロファイルを既存のリランカー スコアに適用することによって計算され、通常のリランカー スコアのように保証された範囲 (0 ~ 4) を持たず、スコアは 4 より大幅に高くなる可能性があります。

スコアリング プロファイルが存在する場合、セマンティック結果は既定で @search.rerankerBoostedScore 順に並べ替えられます。 rankingOrder プロパティが指定されていない場合、BoostedRerankerScoreはセマンティック構成の既定値です。

このシナリオでは、スコアリング プロファイルが 2 回使用されます。

  1. まず、インデックスで定義されたスコアリングプロファイルが初期の L1 ランク付けフェーズで使用され、次の結果をブーストします。

    • テキスト ベースのクエリ (BM25 または RRF)
    • ベクター クエリのテキスト部分
    • 両方の型を組み合わせたハイブリッド クエリ
  2. 次に、セマンティック ランカーは上位 50 件の結果を再スコア付けし、より意味的に関連性の高い一致を上位に昇格します。 この手順では、スコアリング プロファイルの利点を消去できます。 たとえば、鮮度に基づいてブーストした場合、セマンティック並べ替えは、そのブーストを最も関連性の高いものの独自のロジックに置き換えます。

  3. 最後に、スコアリング プロファイルが再ランク付けされた後に再度適用され、結果の最終的な順序に対するブーストの影響が復元されます。 鮮度によってブーストすると、意味的にランク付けされた結果は鮮度に基づいて再スコア付けされます。

セマンティック構成でスコアリング プロファイルを有効にする

セマンティックにランク付けされた結果のスコアリング プロファイルを有効にするには、セマンティック構成の プロパティを設定してrankingOrderします。 PUT メソッドを使用して、修正でインデックスを更新します。 インデックスの再構築は必要ありません。

PUT https://{service-name}.search.windows.com/indexes/{index-name}?api-version=2025-09-01
{
  "semantic": {
    "configurations": [
      {
        "name": "mySemanticConfig",
        "rankingOrder": "boostedRerankerScore"
      }
    ]
  }
}

セマンティック構成でスコアリング プロファイルを無効にする

セマンティック リランカーブースト スコアによる並べ替えを無効にするには、セマンティック構成で rankingOrder フィールドに値 reRankerScore 設定します。

PUT /indexes/{index-name}?api-version=2025-09-01
{
  "semantic": {
    "configurations": [
      {
        "name": "mySemanticConfig",
        "rankingOrder": "reRankerScore"
      }
    ]
  }
}

@search.rerankerBoostedScoreによる並べ替えを無効にした場合でも、boostedRerankerScore フィールドは応答で生成されますが、結果の並べ替えに使用されなくなります。

クエリと応答の例

スコアリング プロファイルを指定する セマンティック クエリ から始めます。 このクエリは、 rankingOrderboostedRerankerScore に設定されている検索インデックスを対象とします。

POST /indexes/{index-name}/docs/search?api-version=2025-09-01
{
  "search": "my query to be boosted",
  "scoringProfile": "myScoringProfile",
  "queryType": "semantic"
}

応答には、L1 rerankerBoostedScoreと L2 @search.scoreと共に、新しい@search.rerankerScoreが含まれます。 結果は @search.rerankerBoostedScore順に並べ替えます。

{
  "value": [
    {
      "@search.score": 0.63,
      "@search.rerankerScore": 2.98,
      "@search.rerankerBoostedScore": 7.68,
      "content": "boosted content 2"
    },
    {
      "@search.score": 1.12,
      "@search.rerankerScore": 3.12,
      "@search.rerankerBoostedScore": 5.61,
      "content": "boosted content 1"
    }
  ]
}