Azure AI Search の機能

Azure AI Search は情報取得機能を備え、オプションの AI 統合を利用することでさらなるテキストと構造コンテンツを抽出します。

次の表は、カテゴリ別の機能をまとめたものです。 Azure AI Search と他の検索テクノロジの比較については、「検索オプションの比較」を参照してください。

Azure のあらゆるパブリック クラウド、プライベート クラウド、ソブリン クラウドに機能パリティがありますが、一部のリージョンでは特定の機能がサポートされていません。 詳細については、「リージョン別の利用可能な製品」を参照してください。

Note

プレビュー機能をお探しですか? 「プレビュー機能リスト」を参照してください。

インデックス作成機能

カテゴリ 機能
データ ソース 検索インデックスは、JSON ドキュメントとして送信されていれば、すべてのソースからのテキストを受け入れることができます。

インデクサーは、プライマリ データ ストア内の検索可能なコンテンツを抽出するために、サポートされているデータ ソースからのデータ インポートを自動化する機能です。 インデクサーによって JSON のシリアル化は自動的に処理されます。また、ほとんどの場合、何らかの形の変更と削除の検出がサポートされます。 Azure SQL DatabaseAzure Cosmos DBAzure BLOB ストレージを含むさまざまなデータ ソースに接続できます。
階層データ構造と入れ子になったデータ構造 複合型とコレクションでは、検索インデックス内の事実上すべての種類の JSON 構造をモデル化できます。 一対多と多対多のカーディナリティは、コレクション、複合型、および複合型のコレクションを通じてネイティブに表現できます。
Linguistic Analysis アナライザーは、インデックス作成および検索操作中のテキスト処理に使用するコンポーネントです。 既定では、汎用の標準 Lucene アナライザーを使用するか、言語アナライザー、ユーザーが構成したカスタム アナライザー、または必要な形式でトークンを生成する別の定義済みアナライザーで既定をオーバーライドすることができます。

Lucene または Microsoft の言語アナライザーは、動詞の時制や名詞の性、不規則な複数形の名詞 (例: 'mouse' と 'mice')、二重複合語、(スペースを使用しない言語の) 改行などをインテリジェントに処理するために使用されます。

カスタム字句アナライザーは、発音照合や正規表現などの複雑なクエリ形式で使用されます。

カテゴリ 機能
ベクター インデックス 検索インデックス内にベクトル フィールドを追加することで、ベクトル検索のシナリオをサポートできるようになります。 ベクトル フィールドは、同じ検索ドキュメント内の非ベクトル フィールドと共存できます。
ベクトル クエリ 単一および複数のベクトル クエリを作成します
ベクトル検索のアルゴリズム Hierarchical Navigable Small World (HNSW) または完全な K 近傍法 (KNN) を使用して、検索インデックス内の同様のベクトルを検索します。
ベクトル フィルター 情報を取得する際にクエリの実行前または実行後にフィルターを適用して、精度を高めます。
ハイブリッド情報の取得 1 つのハイブリッド クエリ要求にある概念とキーワードを検索します。

ハイブリッド検索にはベクトル検索とテキスト検索が統合されており、またオプションのセマンティック ランク付けと関連性のチューニングを行うことで最適な結果が得られるようになっています。
データ チャンキングとベクトル化の統合 (プレビュー) Text Split スキルによるネイティブのデータ チャンキングと、ベクタライザーAzureOpenAIEmbeddingModel スキルによるネイティブのベクトル化。

垂直統合 (プレビュー) を使用すると、ソース ファイルからクエリに繋がるエンドツーエンドのインデックス作成パイプラインを利用できます。
統合されたベクター圧縮と量子化 組み込みのスカラー量子化を使って、メモリ内とディスク上のベクター インデックス サイズを圧縮します。 また、不要なベクターの格納を省略したり、narrow データ型をベクター フィールドに割り当ててストレージ要件を減らすこともできます。
データのインポートとベクトル化 (プレビュー) Azure portal で利用できる新しいウィザードを使用すると、データ チャンキングとベクトル化を含む完全なインデックス作成パイプラインを作成できます。 ウィザードでは、すべてのオブジェクトと構成設定を作成できます。

AI エンリッチメントとナレッジ マイニング

カテゴリ 機能
インデックス作成中の AI 処理 AI エンリッチメントとは、本来であれば全文検索用にインデックスを作成できないコンテンツからテキストや情報を抽出する、インデクサー パイプラインの埋め込み画像や自然言語処理です。 AI 処理は、後でインデクサーにアタッチするスキルセットに、スキルを追加して組み合わせることによって実現されます。 AI には、テキスト翻訳や光学式文字認識 (OCR) などの Microsoft の組み込みスキルと、お客様が提供するカスタム スキルがあります。
検索以外のシナリオでの分析と使用のためのエンリッチされたコンテンツの格納 ナレッジ ストアは、ナレッジ マイニングやデータ サイエンス処理など、検索以外のシナリオを想定した、充実したコンテンツの永続的なストレージです。 ナレッジ ストアは、スキルセットで定義されますが、Azure Storage ではオブジェクトまたは表形式の行セットとして作成されます。
キャッシュされたエンリッチメント 増分エンリッチメント (プレビュー) とは、スキルセットの実行中に再利用できるキャッシュされたエンリッチメントを指します。 キャッシュは、処理コストが高い OCR や画像分析を含むスキルセットで特に重要です。

クエリとユーザー エクスペリエンス

カテゴリ 機能
自由形式のテキスト検索 フルテキスト検索は、大部分の検索ベース アプリの主な用途です。 クエリは、サポートされている構文を使用して作成できます。

単純なクエリ構文では、論理演算子、語句検索演算子、後置演算子、優先順位演算子を使用できます。

完全な Lucene クエリ構文には、あいまい検索、近接検索、用語ブースト、正規表現の拡張機能を含む、簡単な構文でのすべての操作が含まれています。
関連性 簡単なスコアリングは Azure AI Search の主な利点です。 スコアリング プロファイルを使用して、ドキュメント自体の値の関数として、関連性をモデル化できます。 たとえば、新しい製品や割り引き製品を検索結果の上位に表示することが望ましい場合があります。 あるいは、追跡記録し、個別に保存しておいた顧客の検索傾向に基づいてパーソナライズされたスコアリングのタグを利用し、スコアリング プロファイルを作成できます。

セマンティック ランカーは、クエリとのセマンティックな関連性に基づいて結果を再ランク付けする Premium 機能です。 コンテンツとシナリオによっては、ほぼ最小限の構成または労力で検索の関連性を大幅に向上させることができます。
地理空間検索 地理空間関数は、地理座標をフィルター処理して照合します。 距離で一致させることも、多角形に含めて一致させることもできます。
フィルターとファセット 1 つのクエリ パラメーターでファセット ナビゲーションを有効にできます。 Azure AI Search は、ファセット ナビゲーション構造を返します。これをカテゴリ一覧の背後のコードとして使用すると、自律フィルター処理 (たとえば、価格帯やブランド別のカタログ品目のフィルター処理) を実現できます。

フィルターを使用することで、ファセット ナビゲーションをアプリケーションの UI に組み込み、クエリ形成を拡張し、ユーザーまたは開発者が指定した条件に基づいてフィルター処理することができます。 フィルターを作成するには、OData 構文を使用します。
ユーザー エクスペリエンス 検索バーでの先行入力クエリで、オートコンプリートを有効にすることができます。

検索候補 も検索バーでの部分テキスト入力に使用できますが、結果はクエリ用語ではなくインデックス内の実際のドキュメントです。

シノニムは、ユーザーが代替用語を提供する必要がなく、クエリのスコープを暗黙的に拡張する同等の用語を関連付けます。

ヒットの強調表示は、検索結果内の一致するキーワードにテキスト書式を適用します。 強調表示されるスニペットを返すフィールドを選択できます。

並べ替えは、インデックス スキーマを介して、複数のフィールドで利用でき、クエリ時に 1 つの検索パラメーターで切り替えることができます。

検索結果のページングとスロットルは、Azure AI Search によって検索結果に適用される微調整された制御によって簡単に行うことができます。

セキュリティ機能

カテゴリ 機能
データの暗号化 Microsoft によって管理される保存中の暗号化は内部ストレージ レイヤーに組み込まれており、取り消しはできません。

ユーザーが Azure Key Vault で作成および管理するユーザー管理の暗号化キーは、インデックスとシノニム マップの補助的な暗号化に使用できます。 インデックス付きコンテンツを完全に二重に暗号化する CMK での暗号化は、2020 年 8 月 1 日以降に作成されたサービスでは、一時ディスク上のデータにも拡張されています。
エンドポイント保護 受信ファイアウォールの IP ルールのサポートを使用すると、検索サービスが要求を受け入れる IP 範囲を設定できます。

Azure Private Link を使用してプライベート エンドポイントを作成し、すべての要求が仮想ネットワークを経由するようにします。
受信アクセス Azure ロールベースのアクセス制御では、検索コンテンツと操作へのアクセスを制御するため、Microsoft Entra ID のユーザーとグループにロールが割り当てられます。 Azure テナントがない場合、 キーベースの認証を使用することもできます。
アウトバウンド セキュリティ (インデクサー) プライベート エンドポイントを使用したデータ アクセスにより、インデクサーは Azure Private Link を介して保護されている Azure リソースに接続できます。

信頼された ID を使用したデータ アクセスは、外部データ ソースへの接続文字列でユーザー名とパスワードを省略できることを意味します。 検索サービスが以前に信頼されたサービスとして登録されていた場合、インデクサーがデータ ソースに接続するときに、リソースは接続を許可します。

ポータル機能

カテゴリ 機能
プロトタイピングと検査のためのツール インデックスの追加は、ポータルのインデックス デザイナーであり、属性付きのフィールドと他のいくつかの設定で構成される基本スキーマを作成するために使用できます。 インデックスを保存したら、SDK または REST API を使用して情報を移入し、データを提供できます。

データのインポート ウィザードでは、インデックス、インデクサー、スキルセット、およびデータ ソースの定義が作成されます。 データが Azure に存在する場合、このウィザードを使用すると、特に概念実証の調査や探究で時間と労力を大幅に節約できます。

検索エクスプローラーは、クエリをテストしたり、スコアリング プロファイルを調整したりするために使用します。

デモ アプリの作成は、検索エクスペリエンスのテストに使用できる HTML ページを生成するために使用します。

デバッグ セッションは、スキルセットを対話形式でデバッグできるビジュアル エディターです。 依存関係、出力、変換が表示されます。
監視と診断 監視機能を有効にして、ポータルに常に表示される、ひとめで確認できるメトリックの先に進みます。 1 秒あたりのクエリ数、待ち時間、スロットルに関するメトリックが取得され、ポータル ページで報告されます。追加の構成は必要ありません。

プログラミング

カテゴリ 機能
REST サービス REST API は、データ プレーン操作で使用します (インデックス作成、クエリ、および AI エンリッチメントに関連するすべての操作を含む)。 また、このクライアント ライブラリを使用して、システム情報と統計を取得することもできます。

管理 REST API は、Azure Resource Manager によるサービスの作成とプロビジョニング用です。 また、この API を使用して、キーや容量を管理することもできます。
Azure SDK for .NET Azure.Search.Documents は、データ プレーン操作で使用します (インデックス作成、クエリ、および AI エンリッチメントに関連するすべての操作を含む)。 また、このクライアント ライブラリを使用して、システム情報と統計を取得することもできます。

Microsoft.Azure.Management.Search は、Azure Resource Manager によるサービスの作成とプロビジョニング用です。 また、この API を使用して、キーや容量を管理することもできます。
Azure SDK for Java com.azure.search.documents は、データ プレーン操作で使用します (インデックス作成、クエリ、および AI エンリッチメントに関連するすべての操作を含む)。 また、このクライアント ライブラリを使用して、システム情報と統計を取得することもできます。

com.microsoft.azure.management.search は、Azure Resource Manager によるサービスの作成とプロビジョニング用です。 また、この API を使用して、キーや容量を管理することもできます。
Azure SDK for Python azure-search-documents は、データ プレーン操作で使用します (インデックス作成、クエリ、および AI エンリッチメントに関連するすべての操作を含む)。 また、このクライアント ライブラリを使用して、システム情報と統計を取得することもできます。

azure-mgmt-search は、Azure Resource Manager によるサービスの作成とプロビジョニング用です。 また、この API を使用して、キーや容量を管理することもできます。
Azure SDK for JavaScript/TypeScript azure/search-documents は、データ プレーン操作で使用します (インデックス作成、クエリ、および AI エンリッチメントに関連するすべての操作を含む)。 また、このクライアント ライブラリを使用して、システム情報と統計を取得することもできます。

azure/arm-search は、Azure Resource Manager によるサービスの作成とプロビジョニング用です。 また、この API を使用して、キーや容量を管理することもできます。

関連項目