適用対象: Blob Storage インデクサー、 ファイル インデクサー
Azure AI Search では、Azure Blob Storage と Azure Files のインデクサーは、CSV 内の各行を個別の検索ドキュメントとして扱う CSV ファイルの delimitedText 解析モードをサポートしています。 たとえば、次のコンマ区切りのテキストを指定すると、 delimitedText 解析モードでは、検索インデックスに 2 つのドキュメントが作成されます。
id, datePublished, tags
1, 2016-01-12, "azure-search,azure,cloud"
2, 2016-07-07, "cloud,mobile"
CSV ファイル内のフィールドに区切り記号が含まれている場合は、引用符で囲む必要があります。 フィールドに引用符が含まれている場合は、二重引用符 ("") を使用してエスケープする必要があります。
id, datePublished, tags
1, 2020-01-05, "tags,with,""quoted text"""
delimitedText解析モードがないと、CSV ファイルの内容全体が 1 つの検索ドキュメントとして扱われます。
1 つの BLOB から複数の検索ドキュメントを作成するときは必ず、 インデックス作成 BLOB を確認して複数の検索ドキュメントを生成し 、ドキュメント キーの割り当てのしくみを理解してください。 BLOB インデクサーは、新しい各ドキュメントを一意に定義する値を検索または生成できます。 具体的には、BLOB をより小さな部分に解析するときに一時的な AzureSearch_DocumentKey を作成できます。この場合、値はインデックス内の検索ドキュメントのキーとして使用されます。
CSV インデックス作成を設定する
CSV BLOB のインデックスを作成するには、インデクサーの作成要求で delimitedText 解析モードで インデクサー 定義を作成または更新します。
UTF-8 エンコードのみがサポートされています。
{
"name" : "my-csv-indexer",
... other indexer properties
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "firstLineContainsHeaders" : true } }
}
firstLineContainsHeaders は、各 BLOB の最初の (空白ではない) 行にヘッダーが含まれていることを示します。 BLOB に初期ヘッダー行が含まれていない場合は、インデクサー構成でヘッダーを指定する必要があります。
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
区切り文字は、 delimitedTextDelimiter 構成設定を使用してカスタマイズできます。 例えば次が挙げられます。
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextDelimiter" : "|" } }
注
区切りテキスト解析モードでは、Azure AI Search では、すべての BLOB が CSV であると見なされます。 同じデータ ソースに CSV と CSV 以外の BLOB が混在している場合は、 ファイル拡張子フィルター を使用して、各インデクサー実行でインポートされるファイルを制御することを検討してください。
要求例
すべてをまとめると、完全なペイロードの例を次に示します。
データソース:
POST https://[service name].search.windows.net/datasources?api-version=2025-09-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "my-blob-datasource",
"type" : "azureblob",
"credentials" : { "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account key>;" },
"container" : { "name" : "my-container", "query" : "<optional, my-folder>" }
}
インデクサー:
POST https://[service name].search.windows.net/indexers?api-version=2025-09-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "my-csv-indexer",
"dataSourceName" : "my-blob-datasource",
"targetIndexName" : "my-target-index",
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
}