Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: indicizzatori di archiviazione BLOB, indicizzatori di file
In Azure AI Search, gli indicizzatori per Archiviazione BLOB di Azure e File di Azure supportano una modalità di analisi delimitedText per i file CSV che considera ogni riga nel file CSV come documento di ricerca separato. Ad esempio, dato il testo delimitato da virgole seguente, la delimitedText modalità di analisi genera due documenti nell'indice di ricerca:
id, datePublished, tags
1, 2016-01-12, "azure-search,azure,cloud"
2, 2016-07-07, "cloud,mobile"
Se un campo all'interno del file CSV contiene il delimitatore, deve essere racchiuso tra virgolette. Se il campo contiene una virgoletta, deve essere preceduto da virgolette doppie ("").
id, datePublished, tags
1, 2020-01-05, "tags,with,""quoted text"""
Senza la delimitedText modalità di analisi, l'intero contenuto del file CSV verrà considerato come un documento di ricerca.
Ogni volta che si creano più documenti di ricerca da un singolo BLOB, assicurarsi di esaminare l'indicizzazione dei BLOB per produrre più documenti di ricerca per comprendere il funzionamento delle assegnazioni di chiavi del documento. L'indicizzatore BLOB è in grado di trovare o generare valori che definiscono in modo univoco ogni nuovo documento. In particolare, può creare un AzureSearch_DocumentKey transitorio quando un BLOB viene analizzato in parti più piccole, in cui il valore viene quindi usato come chiave del documento di ricerca nell'indice.
Configurare l'indicizzazione CSV
Per indicizzare i BLOB CSV, creare o aggiornare la definizione di un indicizzatore con la modalità di parsing in una richiesta delimitedText.
È supportata solo la codifica UTF-8.
{
"name" : "my-csv-indexer",
... other indexer properties
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "firstLineContainsHeaders" : true } }
}
firstLineContainsHeaders indica che la prima riga (non vuota) di ogni BLOB contiene un'intestazione. Se i blob non contengono l'intestazione iniziale, le intestazioni andrebbero specificate nella configurazione dell'indicizzatore:
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
È possibile personalizzare il carattere delimitatore usando l'impostazione di configurazione delimitedTextDelimiter. Per esempio:
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextDelimiter" : "|" } }
Annotazioni
In modalità di analisi del testo delimitato, Ricerca di intelligenza artificiale di Azure presuppone che tutti i BLOB siano CSV. Se si dispone di una combinazione di BLOB CSV e non CSV nella stessa origine dati, è consigliabile usare filtri di estensione di file per controllare quali file vengono importati in ogni esecuzione dell'indicizzatore.
Esempi di richiesta
Per concludere, ecco gli esempi completi del payload.
Origine dati:
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>" }
}
Indicizzatore:
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" } }
}