Azure AI Search とは

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

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

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

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 は、次のアプリケーション シナリオに適しています。

  • 従来のフルテキスト検索や次世代型のベクトル類似性検索に使用できます。 キーワード検索と類似性検索の強みを活用した情報取得で生成 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 上のコンテンツに対するベクター、キーワード、ハイブリッド ワークロードの点でクラウド プロバイダーの中でも最強です。

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

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