Indexar arquivos e blobs CSV usando o modo de análise delimitedText

Observação

Pesquisa de IA do Azure  está disponível por meio do portal Azure, APIs REST e SDKs do Azure. Ele também sustenta o IQ do Foundry, a camada de conhecimento gerenciado que transforma o conteúdo da empresa em bases de conhecimento reutilizáveis e com reconhecimento de permissão para agentes no portal do Microsoft Foundry.

Aplica-se a: indexadores de armazenamento de blobs, indexadores de arquivos (versão prévia)

No Pesquisa de IA do Azure , os indexadores do Armazenamento de Blobs do Azure e dos Arquivos do Azure dão suporte a um delimitedText modo de análise para arquivos CSV que trata cada linha no CSV como um documento de pesquisa separado. Por exemplo, considerando o seguinte texto delimitado por vírgula, o delimitedText modo de análise resultaria em dois documentos no índice de pesquisa:

id, datePublished, tags
1, 2016-01-12, "azure-search,azure,cloud"
2, 2016-07-07, "cloud,mobile"

Se um campo dentro do arquivo CSV contiver o delimitador, ele deverá ser encapsulado entre aspas. Se o campo contiver uma aspa, ele deverá ser escapado usando aspas duplas ("").

id, datePublished, tags
1, 2020-01-05, "tags,with,""quoted text"""

Sem o delimitedText modo de análise, todo o conteúdo do arquivo CSV seria tratado como um documento de pesquisa.

Sempre que você criar vários documentos de pesquisa de um blob, revise Como indexar blobs para produzir vários documentos de pesquisa a fim de entender como funcionam as atribuições de chave de documento. O indexador de blob é capaz de localizar ou gerar valores que definem exclusivamente cada novo documento. Especificamente, ele pode criar um AzureSearch_DocumentKey transitório quando um blob é analisado em partes menores, no qual o valor é usado como a chave do documento de pesquisa no índice.

Configurar a indexação CSV

Para indexar os blobs CSV, criar ou atualizar uma definição de indexador com o modo de análise delimitedText em uma solicitação Criar Indexador:

Somente a codificação UTF-8 tem suporte.

{
  "name" : "my-csv-indexer",
  ... other indexer properties
  "parameters" : { "configuration" : { "parsingMode" : "delimitedText", "firstLineContainsHeaders" : true } }
}

firstLineContainsHeaders indica que a primeira linha (não vazia) de cada blob contém cabeçalhos. Se os blobs não contiverem uma linha de cabeçalho inicial, os cabeçalhos deverão ser especificados na configuração do indexador:

"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } } 

Você pode personalizar o caractere delimitador usando a configuração delimitedTextDelimiter. Por exemplo:

"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextDelimiter" : "|" } }

Observação

No modo de análise de texto delimitado, o Pesquisa de IA do Azure  pressupõe que todos os blobs sejam CSV. Se você tiver uma combinação de blobs CSV e não CSV na mesma fonte de dados, considere usar filtros de extensão de arquivo para controlar quais arquivos são importados em cada execução do indexador.

Solicitar exemplos

Juntando tudo, aqui estão os exemplos completos de carga útil.

Fonte de dados:

POST https://[service name].search.windows.net/datasources?api-version=2026-04-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>" }
}   

Indexador:

POST https://[service name].search.windows.net/indexers?api-version=2026-04-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" } }
}