CSV-blobok és fájlok indexelése elválasztószöveg-elemzési móddal

Megjegyzés:

Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.

A következőkre vonatkozik: Blob Storage-indexelők, Fájlok indexelői (előzetes verzió)

Az Azure AI Keresésben az Azure Blob Storage és az Azure Files indexelői olyan CSV-fájlok elemzési módját támogatják delimitedText , amelyek a CSV minden sorát külön keresési dokumentumként kezelik. A következő vesszővel tagolt szöveg alapján például az delimitedText elemzési mód két dokumentumot eredményezne a keresési indexben:

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

Ha a CSV-fájlban egy mező tartalmazza a határolót, azt idézőjelekbe kell burkolni. Ha a mező idézőjelet tartalmaz, akkor dupla idézőjelek ("") használatával kell elkerülni.

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

Az elemzési delimitedText mód nélkül a CSV-fájl teljes tartalma egyetlen keresési dokumentumként lesz kezelve.

Amikor több keresési dokumentumot hoz létre egyetlen blobból, mindenképpen tekintse át az indexelő blobokat, hogy több keresési dokumentumot hozzon létre a dokumentumkulcs-hozzárendelések működésének megértéséhez. A blobindexelő képes olyan értékeket keresni vagy generálni, amelyek egyedileg definiálják az egyes új dokumentumokat. Pontosabban akkor hozhat létre átmeneti AzureSearch_DocumentKey értéket, ha egy blobot kisebb részekre elemeznek, ahol az érték lesz a keresési dokumentum kulcsa az indexben.

CSV-indexelés beállítása

CSV-blobok indexeléséhez hozzon létre vagy frissítsen egy indexelődefiníciót az delimitedTextIndexelő létrehozása kérelem elemzési módjával.

Csak az UTF-8 kódolás támogatott.

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

firstLineContainsHeaders azt jelzi, hogy az egyes blobok első (nem üres) sora fejléceket tartalmaz. Ha a blobok nem tartalmaznak kezdeti fejlécsort, a fejléceket az indexelő konfigurációjában kell megadni:

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

A határoló karaktert a delimitedTextDelimiter konfigurációs beállítással szabhatja testre. Például:

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

Megjegyzés:

Tagolt szövegelemző módban az Azure AI Keresés feltételezi, hogy az összes blob CSV. Ha ugyanabban az adatforrásban CSV- és nem CSV-blobokat használ, érdemes lehet fájlkiterjesztési szűrőkkel szabályozni, hogy mely fájlokat importálja az egyes indexelők futtatásakor.

Példák bekérése

Ha mindent egybevetünk, íme a teljes terhelés példái.

Adatforrás:

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>" }
}   

Indexelő:

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" } }
}