Azure AI Search の使い方概要


ハンズオン風に整理してみた

最初にまとめ

Azure AI Search

  • あらゆるデータに対して強力な検索機能を組み込むフルマネージド型検索サービス。
  • AI エンリッチメントや高度な検索機能(後述)を組み込み、Azure Portal から管理・運用できる。

1. Azure AI Search とは?

Microsoft Azure のフルマネージド型検索サービスで、構造化データや非構造化データに対して高度な検索機能を提供します。

  • 全文検索: 高速な検索インデックスを利用
  • AI エンリッチメント: OCR、画像認識、自然言語処理を活用
  • 統合 API: REST API や SDK を通じて簡単に利用可能
  • セキュリティ: Azure Active Directory (Azure AD) との統合

2. Azure AI Search のセットアップ

(1) Azure AI Search サービスの作成

  1. Azure Portal にログイン
  2. 「検索サービス」を検索し、「Azure AI Search」を選択
  3. 「作成」をクリックし、以下の情報を入力:
    • サービス名: 任意の名前
    • サブスクリプション: 使用する Azure サブスクリプション
    • リソースグループ: 既存または新規作成
    • 価格レベル: Free(無料)または Standard(本番環境向け)
  4. 「確認および作成」をクリックしてデプロイ

(2) インデックスの作成

  1. Azure AI Search のリソース画面を開く
  2. 「データのインポート」 → 「データソースを作成」
  3. データソースを選択(例: Azure Blob Storage, Cosmos DB など)
  4. 「インデックスを作成」し、検索可能なフィールドを設定
  5. 「インデクサーを作成」してデータの取り込みを自動化

3. 検索クエリの実行

(1) REST API を利用した検索

curl -X GET “https://{検索サービス名}.search.windows.net/indexes/{インデックス名}/docs?search=sample&api-version=2023-07-01”
-H “Content-Type: application/json”
-H “api-key: {管理キー}”

(2) C# SDK を利用した検索

using Azure.Search.Documents; using Azure.Search.Documents.Models;

var endpoint = “https://{検索サービス名}.search.windows.net”; var indexName = “{インデックス名}”; var apiKey = “{管理キー}”;

var client = new SearchClient(new Uri(endpoint), indexName, new AzureKeyCredential(apiKey)); var results = await client.SearchAsync(“sample”); foreach (var result in results.Value.GetResults()) { Console.WriteLine(result.Document); }


4. 便利な機能

(1) AI エンリッチメント

  • 画像 OCR(光学文字認識)
  • 音声からテキスト変換
  • 文章の自動要約

(2) フィルタリング & ソート

  • フィルタ: filter=category eq 'technology'
  • ソート: orderby=price desc

(3) Synonyms & Custom Analyzers

  • 類義語マッピング
  • カスタムトークナイザーで検索精度向上