ハンズオン風に整理してみた
最初にまとめ
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 サービスの作成
- Azure Portal にログイン
- 「検索サービス」を検索し、「Azure AI Search」を選択
- 「作成」をクリックし、以下の情報を入力:
- サービス名: 任意の名前
- サブスクリプション: 使用する Azure サブスクリプション
- リソースグループ: 既存または新規作成
- 価格レベル: Free(無料)または Standard(本番環境向け)
- 「確認および作成」をクリックしてデプロイ
(2) インデックスの作成
- Azure AI Search のリソース画面を開く
- 「データのインポート」 → 「データソースを作成」
- データソースを選択(例: Azure Blob Storage, Cosmos DB など)
- 「インデックスを作成」し、検索可能なフィールドを設定
- 「インデクサーを作成」してデータの取り込みを自動化
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
4. 便利な機能
(1) AI エンリッチメント
- 画像 OCR(光学文字認識)
- 音声からテキスト変換
- 文章の自動要約
(2) フィルタリング & ソート
- フィルタ:
filter=category eq 'technology'
- ソート:
orderby=price desc
(3) Synonyms & Custom Analyzers
- 類義語マッピング
- カスタムトークナイザーで検索精度向上