Note
Azure AI 検索は、Azure ポータル、REST API、およびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。
このチュートリアルでは、書籍のカタログを検索し、web サイトをAzure Container Appsに展開する Web サイトを構築します。 デプロイでは、Azure AI 検索の既定の認証方法として、Azure Developer CLI (azd) とマネージド ID が使用されます。
このチュートリアルでは、次の操作を行います。
- Azure AI 検索をデプロイし、Azure Developer CLI を使用してインデックスを自動シード処理します。
- 検索クエリ、提案、ファセット、改ページ位置、ドキュメント参照を C# アプリに統合します。
- 既定の認証方法としてマネージド ID を使用してAzure Container Appsにアプリをデプロイします。
サンプルの動作
このサンプル Web サイトでは、10,000 冊の書籍のカタログにアクセスできます。 検索バーにテキストを入力してカタログを検索できます。 テキストを入力しているとき、Web サイトによって検索インデックスの提案機能が使用され、テキストがオートコンプリートされます。
クエリが完了すると、Web サイトに書籍の一覧と詳細の一部が表示されます。 書籍を選択すると、その完全な詳細が検索インデックスに格納されます。
検索エクスペリエンスには次が含まれます。
- 検索 - アプリケーションの検索機能を提供します。
- Suggest - ユーザーが検索バーに入力した候補を提供します。
- ファセットとフィルター - 作成者または言語でフィルター処理するファセット ナビゲーション構造を提供します。
- ページ分割された結果 - 結果 をスクロールするためのページング コントロールを提供します。
- ドキュメント参照 - ID でドキュメントを検索し、詳細ページのすべての内容を取得します。
サンプルの構成
サンプル コードに含まれるコンポーネントを次に示します。
| アプリ | 目的 | GitHub リポジトリの場所 |
|---|---|---|
client |
検索で書籍を表示する React アプリ (プレゼンテーション レイヤー)。 API を呼び出します。 | /azure-search-static-web-app/client |
api |
Azure Container Apps上のコンテナーでホストされる C# Azure Functions API (ビジネス レイヤー) は、.NET SDK を使用して Azure AI 検索 API を呼び出します。 | /azure-search-static-web-app/api |
bulk-insert |
.NETインデックスを作成し、ドキュメントを読み込むプロジェクトです。
azdデプロイでは、postprovision フックを介して自動的にこれを実行します。 |
/azure-search-static-web-app/bulk-insert |
infra |
azdがAzure AI 検索、Azure Container Apps、およびサポート リソースをデプロイするために使用されるインフラストラクチャをBicepします。 |
Azure-Samples/azure-search-static-web-app |
開発環境を設定する
ローカル開発環境に次のソフトウェアをインストールします。
azd up コマンドは、Azure AI 検索を含むすべてのAzure リソースをプロビジョニングするため、事前に作成する必要はありません。
- .NET 9 以降
- Git
- Visual Studio Code
- Visual Studio Code 用 C# 開発ツール拡張機能
-
Azure Developer CLI (
azd) - Docker Desktop または別の Docker と互換性のあるコンテナー ランタイム
このチュートリアルでは、Azure Functions API をローカルで実行しません。 ローカルで実行する場合は、Azure Functions Core Tools をインストールします。
Git を使用して検索サンプルを複製する
ローカル複製からサンプルをデプロイできます。
azd up コマンドは、ローカル リポジトリからアプリケーションとインフラストラクチャ ファイルを読み取り、コンテナーをビルドし、Azureリソースをプロビジョニングして、クライアントと API をAzure Container Appsにデプロイします。
Bash ターミナルで、サンプル アプリケーションをローカル コンピューターに複製します。
git clone https://github.com/Azure-Samples/azure-search-static-web-app.git同じ Bash ターミナルで、この検索例のリポジトリ ディレクトリに移動します。
cd azure-search-static-web-appVisual Studio Code コマンド (
code .) を使用して、リポジトリを開きます。 特に指定しない限り、Visual Studio Codeの残りのタスクを完了します。code .