Azure Filesからのデータのインデックス作成 (プレビュー)

Note

Azure AI 検索は、Azure ポータル、REST API、およびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。

重要

機能、またはマークされたプロパティ (プレビュー) は、サービス レベル アグリーメントの対象ではなく、運用環境のワークロードには推奨されず、一般公開される前に変更または制約される可能性があります。 Azure AI 検索 プレビューの用語は、スタンドアロンでも一般公開されている機能の一部でも、すべてのプレビュー機能に適用されます。

重要

これらの機能は、他のMicrosoft サービスおよびサード パーティのサービスへの接続をサポートします。 これらのサービスの利用は各サービスの利用規約に従うものとし、データが Azure コンプライアンス境界の外部で処理または保存されたり、Azure コンプライアンス境界内に流入したりする場合があります。

データが組織のコンプライアンスと地理的境界の外部に流れるかどうか、および関連する影響、および適切なアクセス許可、境界、承認がプロビジョニングされるかどうかを管理するのは、お客様の責任です。

特定のユース ケースのコンテキストで構築したアプリケーションを慎重に確認およびテストし、すべての適切な決定とカスタマイズを行う責任があります。 これには、メタプロンプト、コンテンツ フィルター、その他の安全システムなどの独自の責任ある AI 軽減策の実装や、アプリケーションが適切な品質、信頼性、セキュリティ、信頼性の標準を満たしていることを確認する機能が含まれます。 詳細については、「Azure AI 検索透過性に関するメモを参照してください。

Azure Files インデクサー (プレビュー) は、ファイル共有からAzure AI 検索 インデックスにコンテンツをインポートします。 インデクサーへの入力は、1 つの共有内のファイルです。 出力は、検索可能なコンテンツとメタデータが個々のフィールドに格納された検索インデックスです。

インデクサーを構成して実行するには、次のコマンドを使用できます。

前提 条件

サポートされているタスク

このインデクサーは、次のタスクに使用できます。

  • データ インデックス作成と増分インデックス作成: インデクサーは、テーブルからファイルと関連するメタデータにインデックスを作成できます。 組み込みの変更検出を使用して、新しいファイルと更新されたファイルとメタデータを検出します。 スケジュールまたはオンデマンドでデータ更新を構成できます。
  • 削除の検出: インデクサーは、 カスタム メタデータを使用して削除を検出できます。
  • スキルセット:スキルセットを通じて適用される AI は、インデクサーによって完全にサポートされます。 これには、データ チャンクや埋め込み手順を追加する 統合ベクター化 などの主な機能が含まれます。
  • 解析モード: 個々の検索ドキュメントに JSON 配列または行を解析する場合、インデクサーでは JSON 解析モード がサポートされます。 また、Markdown 解析モードもサポートしています。
  • 他の機能との互換性: インデクサーは、 デバッグ セッション、 インデクサー キャッシュ (インクリメンタル エンリッチメント用)、 ナレッジ ストアなど、他のインデクサー機能とシームレスに連携するように設計されています。

サポートされているドキュメント形式

Azure Filesインデクサーは、次のドキュメント形式からテキストを抽出できます。

Azure Filesのインデックス付け方法

既定では、ほとんどのファイルは、JSON や CSV などの構造化されたコンテンツを含むファイルを含む、インデックス内の単一の検索ドキュメントとしてインデックスが作成されます。このファイルは、1 つのテキスト チャンクとしてインデックスが作成されます。

複合ドキュメントまたは埋め込みドキュメント (ZIP アーカイブ、添付ファイルを含む埋め込みOutlook電子メールを含むWord ドキュメント、または .添付ファイル付きの MSG ファイル) も 1 つのドキュメントとしてインデックスが作成されます。 たとえば、.MSG ファイルの添付ファイルから抽出された全画像は、normalized_images フィールドに返されます。 画像がある場合は、 AI エンリッチメント を追加して、そのコンテンツからより多くの検索ユーティリティを取得することを検討してください。

ドキュメントのテキスト コンテンツは、"content" という名前の文字列フィールドに抽出されます。 標準メタデータとユーザー定義メタデータを抽出することもできます。

データ ソースを定義する

データ ソース定義では、データの変更を識別するためのインデックス、資格情報、およびポリシーのデータを指定します。 データ ソースは、複数のインデクサーで使用できるように、独立したリソースとして定義されます。

2020-06-30-preview 以降は、"type": "azurefile"に使用できます。 最新のプレビュー API をお勧めします。

  1. "type": のプレビュー API を使用して、定義を設定する"azurefile"します。

    POST /datasources?api-version=2026-08-01-preview
    {
        "name" : "my-file-datasource",
        "type" : "azurefile",
        "credentials" : { "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account key>;" },
        "container" : { "name" : "my-file-share", "query" : "<optional-directory-name>" }
    }
    
  2. "type" を "azurefile" (必須) に設定します。

  3. "資格情報" をAzure Storage 接続文字列に設定します。 次のセクションでは、サポートされている形式について説明します。

  4. "container" をルート ファイル共有に設定し、"query" を使用してサブフォルダーを指定します。

ソース ドキュメントに削除のフラグが設定されているときにインデクサーで検索ドキュメントを削除する場合は、データ ソース定義に論理的な削除 ポリシーを含めることもできます。

サポートされている資格情報と接続文字列

インデクサーは、次の接続を使用してファイル共有に接続できます。

フル アクセス ストレージ アカウントの接続文字列
{ "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<your storage account>;AccountKey=<your account key>;" }
左側のウィンドウで Access キーを選択すると、Azure ポータルの [ストレージ アカウント] ページから接続文字列を取得できます。 キーだけでなく、完全な接続文字列を選択してください。

インデックスに検索フィールドを追加する

search index に、Azure ファイルのコンテンツとメタデータを受け入れるフィールドを追加します。

  1. インデックスを作成または更新 して、ファイルの内容とメタデータを格納する検索フィールドを定義します。

    POST /indexes?api-version=2026-04-01
    {
      "name" : "my-search-index",
      "fields": [
          { "name": "ID", "type": "Edm.String", "key": true, "searchable": false },
          { "name": "content", "type": "Edm.String", "searchable": true, "filterable": false },
          { "name": "metadata_storage_name", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true  },
          { "name": "metadata_storage_path", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true },
          { "name": "metadata_storage_size", "type": "Edm.Int64", "searchable": false, "filterable": true, "sortable": true  },
          { "name": "metadata_storage_content_type", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true }        
      ]
    }
    
  2. ドキュメント キー フィールド ("key": true) を作成します。 BLOB コンテンツの場合、最適な候補はメタデータ プロパティです。 メタデータ プロパティには、多くの場合、ドキュメント キーに対して無効な文字 ( / や -など) が含まれます。 インデクサーは、構成またはフィールド マッピングを必要とせず、キー メタデータ プロパティを自動的にエンコードします。

    • metadata_storage_path (既定) オブジェクトまたはファイルへの完全パス

    • metadata_storage_name 名前が一意の場合にのみ使用できます

    • BLOB に追加するカスタム メタデータ プロパティ。 このオプションでは、BLOB のアップロード プロセスで、そのメタデータ プロパティをすべての BLOB に追加する必要があります。 キーは必須プロパティであるため、値が不足している BLOB はインデックスを作成できません。 カスタム メタデータ プロパティをキーとして使用する場合は、そのプロパティを変更しないでください。 キー プロパティが変更された場合、インデクサーは同じ BLOB に重複するドキュメントを追加します。

  3. BLOB の "content" プロパティを使用して、各ファイルから抽出されたテキストを格納する "content" フィールドを追加します。 この名前を使用する必要はありませんが、暗黙的なフィールド マッピングを利用できます。

  4. 標準メタデータ プロパティのフィールドを追加します。 ファイル インデックス作成では、標準メタデータ プロパティは BLOB メタデータ プロパティと同じです。 Azure Files インデクサーは、ハイフネーションされたプロパティ名をアンダースコア付きプロパティ名に変換するこれらのプロパティの内部フィールド マッピングを自動的に作成します。 インデックス定義を使用するフィールドを追加する必要はありますが、データ ソースでのフィールド マッピングの作成は省略できます。

    • metadata_storage_name (Edm.String) - ファイル名。 たとえば、ファイル /my-share/my-folder/subfolder/resume.pdfがある場合、このフィールドの値は resume.pdf。
    • metadata_storage_path (Edm.String) - ストレージ アカウントを含むファイルの完全な URI。 例えば https://myaccount.file.core.windows.net/my-share/my-folder/subfolder/resume.pdf
    • metadata_storage_content_type (Edm.String) - ファイルのアップロードに使用したコードで指定されたコンテンツ タイプ。 たとえば、 application/octet-stream。
    • metadata_storage_last_modified (Edm.DateTimeOffset) - ファイルの最終変更タイムスタンプ。 Azure AI 検索では、このタイムスタンプを使用して変更されたファイルを識別し、最初のインデックス作成後にインデックスを再作成しないようにします。
    • metadata_storage_size (Edm.Int64) - ファイル サイズ (バイト単位)。
    • metadata_storage_content_md5 (Edm.String) - ファイル コンテンツの MD5 ハッシュ (使用可能な場合)。
    • metadata_storage_sas_token (Edm.String) - カスタム スキル がファイルにアクセスするために使用できる一時的な SAS トークン。 このトークンは、有効期限が切れる可能性があるため、後で使用するために保存しないでください。

Azure Files インデクサーを構成して実行する

インデックスとデータ ソースが作成されたら、インデクサーを作成する準備ができました。 インデクサーの構成では、実行時の動作を制御する入力、パラメーター、およびプロパティを指定します。

  1. インデクサーを作成または更新するには、インデクサー に名前を付け、データ ソースとターゲット インデックスを参照します。

    POST /indexers?api-version=2026-04-01
    {
      "name" : "my-file-indexer",
      "dataSourceName" : "my-file-datasource",
      "targetIndexName" : "my-search-index",
      "parameters": {
         "batchSize": null,
         "maxFailedItems": null,
         "maxFailedItemsPerBatch": null,
         "configuration": {
            "indexedFileNameExtensions" : ".pdf,.docx",
            "excludedFileNameExtensions" : ".png,.jpeg" 
        }
      },
      "schedule" : { },
      "fieldMappings" : [ ]
    }
    
  2. オプションの "構成" セクションで、包含条件または除外条件を指定します。 指定しない場合は、ファイル共有内のすべてのファイルが取得されます。

    両方のパラメーターindexedFileNameExtensionsとexcludedFileNameExtensions が存在する場合、Azure AI 検索 は最初にindexedFileNameExtensionsを確認し、次にexcludedFileNameExtensionsを確認します。 両方のリストに同じファイル拡張子が存在する場合は、インデックス作成から除外されます。

  3. フィールド 名または型に違いがある場合、または検索インデックスに複数のバージョンのソース フィールドが必要な場合は、フィールド マッピングを指定します。

    ファイル インデックス作成では、インデクサーに "コンテンツ" プロパティとメタデータ プロパティをインデックス内の同様の名前付きフィールドと型指定されたフィールドにマッピングするための組み込みのサポートがあるため、フィールド マッピングを省略できることがよくあります。 メタデータ プロパティの場合、インデクサーは検索インデックス内のハイフン - を自動的にアンダースコアに置き換えられます。

  4. その他のプロパティの詳細については、「 インデクサーの作成 」を参照してください。

インデクサーは、作成時に自動的に実行されます。 これを防ぐには、"無効" を true に設定します。 インデクサーの実行を制御するには、 必要に応じてインデクサーを実行 するか、 スケジュールに従います。

インデクサーの状態を確認する

インデクサーの状態と実行履歴を監視するには、 インデクサーの状態の取得 要求を送信します。

GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2026-04-01
  Content-Type: application/json  
  api-key: [admin key]

応答には、状態と処理された項目の数が含まれます。 次の例のようになります。

    {
        "status":"running",
        "lastResult": {
            "status":"success",
            "errorMessage":null,
            "startTime":"2022-02-21T00:23:24.957Z",
            "endTime":"2022-02-21T00:36:47.752Z",
            "errors":[],
            "itemsProcessed":1599501,
            "itemsFailed":0,
            "initialTrackingState":null,
            "finalTrackingState":null
        },
        "executionHistory":
        [
            {
                "status":"success",
                "errorMessage":null,
                "startTime":"2022-02-21T00:23:24.957Z",
                "endTime":"2022-02-21T00:36:47.752Z",
                "errors":[],
                "itemsProcessed":1599501,
                "itemsFailed":0,
                "initialTrackingState":null,
                "finalTrackingState":null
            },
            ... earlier history items
        ]
    }

実行履歴には、最後に完了した実行のうち最大 50 個が含まれています。これは、最新の実行が最初になるように、時系列の逆順に並べ替えられます。

次の手順

インデクサーを実行したり、状態を監視したり、インデクサーの実行をスケジュールしたりできます。 次の記事は、Azure Storageからコンテンツをプルするインデクサーに適用されます。