インデクサーを使用してデータを抽出する
Tip
詳細については、「 テキストと画像 」タブを参照してください。
Azure AI 検索 ソリューションの中核となるのは 、インデックス の作成です。インデックスには検索可能なコンテンツが含まれており、当然ながら インデクサーによって作成および更新されます。
インデックス作成プロセスは、データ ソース (元のデータ成果物の格納場所) から始まります。たとえば、ドキュメント、データベース、またはその他のストアでいっぱいの Azure BLOB ストア コンテナーなどです。
インデクサーは、エンリッチメント パイプラインを介してデータ フィールドの抽出とインデックス作成を自動化します。このパイプラインでは、ドキュメント クラッキングを適用してソース ドキュメントの内容を抽出し、インデックス定義に必要なフィールドを含む階層 (JSON ベース) ドキュメントを作成するための増分ステップを適用します。
結果は、設定されたインデックスであり、クエリ条件に一致するドキュメントから指定されたフィールドを返すようにクエリを実行できます。
インデックス作成中のドキュメントの作成方法
インデックス作成プロセスは、インデックス付きエンティティごとにドキュメントを作成することによって機能します。 インデックス作成中、 エンリッチメント パイプライン は、データ ソースのメタデータと 、スキルによって抽出または生成されたエンリッチされたフィールドを組み合わせたドキュメントを繰り返し構築します。 インデックス付きドキュメントはそれぞれ JSON 構造と考えることができます。最初は、次のように、ソース データから直接抽出されたフィールドにマップしたインデックス フィールドを含むドキュメントで構成されます。
-
文書
- メタデータ_ストレージ_ネーム
- metadata_author
- コンテンツ
データ ソース内のドキュメントにイメージが含まれている場合は、次のように、インデクサーを構成してイメージ データを抽出し、各イメージを normalized_images コレクションに配置できます。
-
文書
- メタデータ_ストレージ_ネーム
- metadata_author
- コンテンツ
-
normalized_images
- image0
- image1
この方法で画像データを正規化すると、画像データから情報を抽出するスキルの入力として画像のコレクションを使用できます。
各スキルは ドキュメントにフィールドを追加するため、たとえば、ドキュメントが書き込まれる 言語 を検出するスキルは、次のように 言語 フィールドにその出力を格納できます。
-
文書
- メタデータ_ストレージ_ネーム
- metadata_author
- コンテンツ
-
normalized_images
- image0
- image1
- 言語
ドキュメントは階層構造になっており、スキルは階層内の特定の コンテキスト に適用されるため、ドキュメントの特定のレベルで各項目のスキルを実行できます。 たとえば、正規化されたイメージ コレクション内の各画像に対して光学式文字認識 (OCR) スキルを実行して、含まれるテキストを抽出できます。
-
文書
- メタデータ_ストレージ_ネーム
- metadata_author
- コンテンツ
-
normalized_images
-
image0
- テキスト
-
image1
- テキスト
-
image0
- 言語
各スキルの出力フィールドは、パイプラインの後で他のスキルの入力として使用でき、 その出力は ドキュメント構造に格納されます。 たとえば、 マージ スキルを使用して、元のテキストコンテンツと各画像から抽出されたテキストを組み合わせて、画像テキストを含むドキュメント内のすべてのテキストを含む新しい merged_content フィールドを作成できます。
-
文書
- メタデータ_ストレージ_ネーム
- metadata_author
- コンテンツ
-
normalized_images
-
image0
- テキスト
-
image1
- テキスト
-
image0
- 言語
- merged_content
パイプラインの最後にある最終的なドキュメント構造のフィールドは、次の 2 つの方法のいずれかでインデクサーによってインデックス フィールドにマップされます。
- ソース データから直接抽出されたフィールドはすべて、インデックス フィールドにマップされます。 これらのマッピングは 、暗黙的 (インデックス内の同じ名前のフィールド内のフィールドに自動的にマップされる) または 明示的 (多くの場合、フィールドの名前をより便利なものに変更したり、マップ時に関数をデータ値に適用したりするために、ソース フィールドとインデックス フィールドを照合するようにマッピングが定義されます) にすることができます。
- スキルセット内のスキルからの出力フィールドは、出力内の階層的な場所からインデックス内のターゲット フィールドに明示的にマップされます。