Index för oformaterade textblobar och filer i Azure AI Search
Gäller för: Blob-indexerare, filindexerare
När du använder en indexerare för att extrahera sökbar blobtext eller filinnehåll för fulltextsökning kan du tilldela ett parsningsläge för att få bättre indexeringsresultat. Indexeraren parsar som standard en blobe-egenskap content
som ett enda textsegment. Men om alla blobar och filer innehåller oformaterad text i samma kodning kan du avsevärt förbättra indexeringsprestandan med hjälp text
av parsningsläget.
Rekommendationer för text
parsning omfattar något av följande egenskaper:
- Filtypen är
.txt
- Filer är av valfri typ, men själva innehållet är text (till exempel programkällkod, HTML, XML och så vidare). För filer på ett markeringsspråk kommer syntaxtecken igenom som statisk text.
Kom ihåg att alla indexerare serialiserar till JSON. Som standard indexeras innehållet i hela textfilen i ett stort fält som "content": "<file-contents>"
. Nya rad- och returinstruktioner bäddas in i innehållsfältet och uttrycks som \r\n\
.
Om du vill ha ett mer förfinat eller detaljerat resultat och om filtypen är kompatibel bör du överväga följande lösningar:
delimitedText
parsningsläge, om källan är CSVjsonArray
ellerjsonLines
, om källan är JSON
Ett alternativt tredje alternativ för att dela upp innehåll i flera delar kräver avancerade funktioner i form av AI-berikning. Den lägger till analys som identifierar och tilldelar delar av filen till olika sökfält. Du kan hitta en fullständig eller partiell lösning med inbyggda kunskaper som entitetsigenkänning eller extrahering av nyckelord, men en mer sannolik lösning kan vara en anpassad inlärningsmodell som förstår ditt innehåll, omslutet i en anpassad färdighet.
Konfigurera oformaterad textindexering
Om du vill indexering av oformaterade textblobar skapar eller uppdaterar du en indexerardefinition med konfigurationsegenskapen parsingMode
inställd text
på på en Create Indexer-begäran :
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2024-07-01
Content-Type: application/json
api-key: [admin key]
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text" } }
}
Som standard UTF-8
antas kodningen. Om du vill ange en annan kodning använder du konfigurationsegenskapen encoding
. Listan över kodningar som stöds finns under .NET 5 och senare supportkolumn.
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "iso-8859-1" } }
}
Exempel på begäran
Parsningslägen anges i indexerarens definition.
POST https://[service name].search.windows.net/indexers?api-version=2024-07-01
Content-Type: application/json
api-key: [admin key]
{
"name" : "my-plaintext-indexer",
"dataSourceName" : "my-blob-datasource",
"targetIndexName" : "my-target-index",
"parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
}