적용 대상: Blob Storage 인덱서, 파일 인덱서
Azure AI Search에서 Azure Blob Storage 및 Azure Files의 인덱서는 CSV의 각 줄을 별도의 검색 문서로 처리하는 CSV 파일에 대한 구문 분석 모드를 지원 delimitedText 합니다. 예를 들어 다음 쉼표로 구분된 텍스트를 delimitedText 지정하면 구문 분석 모드에서 검색 인덱스에 두 개의 문서가 생성됩니다.
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 파일의 전체 콘텐츠가 하나의 검색 문서로 처리됩니다.
단일 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" } }
}