インデックスを拡張する

完了

基本的なインデックスと、クエリを送信して結果を表示できるクライアントによって、効果的な検索ソリューションを実現できます。 ただし、Azure AI 検索では、より優れたユーザー エクスペリエンスを提供するために、インデックスを拡張する方法がいくつかサポートされています。 このトピックでは、検索ソリューションを拡張できるいくつかの方法について説明します。

逐次検索

インデックスに suggester を追加することにより、2 つの形式の逐次検索方法を使用して、ユーザーが関連する結果をより簡単に検索できるようにすることができます。

  • "検索候補" - ユーザーが検索ボックスに入力すると、検索クエリを送信することなく、検索候補の結果の一覧を取得して表示します。
  • "オートコンプリート" - 部分的に入力された検索語句をインデックス フィールドの値に基づいて補完します。

これらの機能のいずれかまたは両方を実装するには、1 つまたは複数のフィールドに対して suggester を定義して、インデックスを作成または更新します。

suggester を追加すると、suggestionautocomplete REST API エンドポイント、または .NET の DocumentsOperationsExtensions.SuggestDocumentsOperationsExtensions.Autocomplete メソッドを使用して、部分的な検索語句を送信して、ユーザー インターフェイスに表示する検索候補の結果または自動補完された語句の一覧を取得することができます。

Note

suggester の詳細については、Azure AI 検索ドキュメントのクライアント アプリへのオートコンプリートと検索候補の追加に関するページを参照してください。

カスタム スコアリングと結果のブースト

既定では、検索結果は、TF-IDF (用語頻度-逆ドキュメント頻度) アルゴリズムに基づいて計算された関連性スコアによって並べ替えられます。 特定のフィールドに重み付け値を適用する "スコアリング プロファイル" を定義することで、このスコアの計算方法をカスタマイズできます。基本的に、これらのフィールドに検索語句が見つかった場合に、ドキュメントの検索スコアが上がります。 さらに、フィールドの値に基づいて結果を "ブースト" することができます。たとえば、変更されたのがどのくらい最近かやファイル サイズに基づいて、ドキュメントの関連性スコアを上げることができます。

スコアリング プロファイルを定義したら、個々の検索でそれを使用するよう指定できます。また、既定でカスタム スコアリング プロファイルを使用するようにインデックスの定義を変更することもできます。

Note

スコアリング プロファイルの詳細については、Azure AI 検索ドキュメントのスコアリング プロファイルに関するページを参照してください。

シノニム

多くの場合、同じことを何とおりかの言い方で言うことができます。 たとえば、イギリスに関する情報を検索するユーザーは、次のいずれかの用語を使う可能性があります。

  • イギリス
  • 英国
  • 英国*
  • GB*

*正確に言えば、UK と Great Britain は異なるエンティティですが、よく混同されています。そのため、"United Kingdom" を検索するユーザーは、"Great Britain" に言及した結果に関心を持っている可能性があると考えるのが妥当です。

ユーザーが必要な情報を見つけられるように、関連する用語をまとめてリンクする "シノニム マップ" を定義できます。 その後、それらのシノニム マップをインデックスの個々のフィールドに適用すると、ユーザーが特定の用語を検索したときに、その用語またはそのいずれかのシノニムがフィールドに含まれているドキュメントを結果に含めることができます。

Note

シノニム マップの詳細については、Azure AI 検索ドキュメントの「Azure AI 検索でのシノニム」を参照してください。