Azure AI Search とは

Azure AI Search (旧称 "Azure Cognitive Search") は、従来の会話型検索アプリケーションのユーザー所有コンテンツに対して、安全な情報取得を大規模に提供します。

情報取得は、テキストとベクトルを表示するすべてのアプリの基礎となります。 一般的なシナリオには、カタログまたはドキュメントの検索、データ探索、独自のグラウンド データに対するチャット スタイルの copilot アプリなどがあります。 検索サービスを作成するときは、次の機能を使用します。

アーキテクチャ上、検索サービスは、インデックスが設定されていないデータを含む外部データ ストアと、検索インデックスにクエリ要求を送信して応答を処理するクライアント アプリとの間に配置されます。

Azure AI Search architecture

クライアント アプリでは、検索エクスペリエンスは Azure AI Search の API を使用して定義され、関連性のチューニング、セマンティック ランク付け、オートコンプリート、同意語の一致、あいまい一致、パターン マッチング、フィルター、並べ替えを含めることができます。

Azure プラットフォーム全体で、Azure AI Search は、他の Azure サービスと統合できます。その形式は、Azure データ ソースからのデータのインジェストと取得を自動化するインデクサー、および Azure AI サービスで提供されている消費型 AI (画像や自然言語処理など) や Azure Machine Learning 内で作成したり Azure Functions 内にラップしたりするカスタム AI を組み込んだスキルセットです。

検索サービスの内部

検索サービス自体は、"インデックスの作成" と "クエリの実行" の 2 つが主なワークロードとなります。

  • インデックス作成は、取り込みのプロセスです。コンテンツを検索サービスに読み込んで検索可能にします。 内部では、受信テキストはトークンに処理され、反転インデックスに保存され、受信ベクトルはベクトル インデックスに保存されます。 Azure AI Search でインデックスを付けられるドキュメント形式は JSON です。 作成した JSON ドキュメントをアップロードすることや、インデクサーを使用してデータを取得して JSON にシリアル化することができます。

    コグニティブ スキルによる AI エンリッチメントは、インデックス付けの拡張機能です。 ソースドキュメントに画像や大きな非構造化テキストがある場合は、OCR の実行、画像の説明、構造の推測、テキストの翻訳などを行うスキルをアタッチできます。 データ チャンキングとベクトル化を実行するスキルをアタッチすることもできます。

  • クエリの実行は、検索可能なテキストがインデックスに取り込まれると、クライアント アプリが検索サービスにクエリ要求を送信して応答を処理するときに発生することがあります。 すべてのクエリは、ユーザーが制御する検索インデックスを介して実行されます。

    セマンティック ランク付けは、クエリ実行の拡張機能です。 検索結果の処理に言語理解が加わり、最も意味の関連が高い結果が上位に昇格されます。

Azure AI Search は、次のアプリケーション シナリオに適しています。

  • 従来のフルテキスト検索や次世代ベクター類似性検索に使用します。 キーワード (keyword)と類似性検索の強度を活用した情報取得を使用して、生成 AI アプリをバックアップします。 最も関連性の高い結果を取得するには、両方のモダリティを使用します。

  • 異種コンテンツを、ベクトルとテキストで構成されるユーザーが定義および設定した検索インデックスに統合します。 検索可能な内容を所有し、制御します。

  • 生成 AI および RAG アプリ用にデータ チャンクとベクトル化を統合する。

  • ドキュメント レベルで細分性の高いアクセス制御を適用します。

  • インデックス作成とクエリワークロードを専用の検索サービスにオフロードします。

  • 関連性のチューニング、ファセット ナビゲーション、フィルター (地理空間検索)、同意語マッピング、オートコンプリートなど、検索に関連した機能を容易に実装。

  • Azure Blob Storage や Azure Cosmos DB に格納されている未区分の大きなテキスト ファイル、画像ファイル、またはアプリケーション ファイルを検索可能なチャンクに変換。 これは、Azure AI から外部処理を追加するコグニティブ スキルを使ってインデックスを作成するときに行われます。

  • 言語分析またはカスタム テキスト分析を追加。 英語以外のコンテンツがある場合、Azure AI Search では Lucene アナライザーと Microsoft の自然言語プロセッサの両方がサポートされます。 また、生コンテンツの特殊な処理 (分音記号のフィルター処理や、文字列内のパターンの認識と保持など) を実行するようにアナライザーを構成することもできます。

特定の機能の詳細については、「Azure AI Search の機能」を参照してください。

ファースト ステップ

機能は、Azure portal、シンプルな REST API、または Azure SDK for .NET などの Azure SDK を使用して公開されます。 Azure portal は、インデックスとスキルセットのプロトタイプ作成やクエリを実行するためのツールによるサービスの管理とコンテンツの管理をサポートしています。

次の 4 つのステップにより、主要な検索機能をエンド ツー エンドで試すことができます。

  1. レベルとリージョンを決定します。 サブスクリプションごとに 1 つだけ無料 Search サービスが許可されます。 すべてのクイックスタートは、Free レベルで完了できます。 さらに容量と機能が必要な場合は、有料のレベルが必要です。

  2. Azure portal ポータルで Search サービスを作成します。

  3. [データのインポート] ウィザードから開始します。 組み込みのサンプルまたはサポートされているデータ ソースを選ぶと、インデックスの作成、ロード、クエリを数分で実行できます。

  4. ポータル クライアントを使って作成した検索インデックスのクエリを実行して、Search エクスプローラーで終了します。

また、検索インデックスの作成、読み込み、クエリをアトミックな手順で行うこともできます。

  1. ポータル、REST API.NET SDK、または他の SDK を使用して検索インデックスを作成します。 検索可能なコンテンツの構造は、インデックス スキーマによって定義されます。

  2. "プッシュ" モデルを使用して任意のソースから JSON ドキュメントをプッシュしてコンテンツをアップロードします。または、ソース データがサポートされる型である場合は "プル" モデル (インデクサー) を使用します。

  3. ポータルの検索エクスプローラーREST API.NET SDK、または他の SDK を使用して、インデックスを照会します。

ヒント

複雑なソリューションやカスタム ソリューションについては、Azure AI Search テクノロジにおける深い専門知識を持つパートナーにお問い合わせください

検索オプションの比較

お客様から、Azure AI Search は他の検索関連のソリューションと比較してどうなのかについてよくお問い合わせいただきます。 主な相違点を次の表に示します。

比較対象 主な相違点
Microsoft Search Microsoft Search は、SharePoint 内のコンテンツに対してクエリを実行する必要がある、Microsoft 365 の認証済みユーザーを対象としています。 Azure AI Search は、Azure と任意の JSON データセット全体でコンテンツをプルします。
Bing Bing API では 、一致する用語について、Bing.com のインデックスに対してクエリを実行します。 Azure AI Search では、コンテンツが入力されたインデックスを検索します。 データ インジェストとスキーマを制御します。
データベース検索 SQL Server にはフルテキスト検索があり、Azure Cosmos DB と同様のテクノロジにはクエリ可能なインデックスがあります。 構文アナライザーや関連性チューニングなどの機能や異種ソースのコンテンツが必要な場合、Azure AI Search は魅力的な代替手段になります。 リソース使用率も、別途考慮する必要があります。 インデックス作成とクエリは、計算負荷が高くなります。 DBMS から検索をオフロードすると、トランザクション処理のためにシステム リソースが保持されます。
専用の検索ソリューション 完全なスペクトル機能を備えた専用の検索を決定した場合、最終的なカテゴリ比較は検索テクノロジ間です。 クラウド プロバイダーの中で、Azure AI Search は、主に情報取得とコンテンツ ナビゲーションの両方の検索に依存するアプリに対して、Azure 上のコンテンツに対するベクター、キーワード (keyword)、ハイブリッド ワークロードに最も強いです。

以下のような大きな強みがあります。

  • 文、画像、グラフなどのベクター埋め込みを格納、インデックス付け、検索します。
  • 検索語句が完全に一致しない場合でも、意味的に検索クエリに似た情報を検索します。
  • キーワード (keyword)とベクター検索の最適なハイブリッド検索を使用します。
  • セマンティック ランク付けプロファイルとスコアリング プロファイルによる関連性チューニング。
  • インデックス層でのデータ統合 (クローラー)
  • コンテンツ テキストとベクター検索を可能にする変換のための Azure AI 統合。
  • 信頼された接続用の Microsoft Entra セキュリティと、インターネット以外のシナリオでのプライベート接続用の Azure Private Link。
  • 完全な検索エクスペリエンス: 56 言語での言語およびカスタム テキスト分析。 ファセット、オートコンプリート クエリ、推奨される結果、シノニム。
  • Azure のスケール、信頼性、グローバルなリーチ。