Indexdata från Azure Files
Viktigt!
Azure Files-indexeraren är för närvarande i offentlig förhandsversion under kompletterande användningsvillkor. Använd rest-API:et för förhandsversion för att skapa indexerarens datakälla.
I den här artikeln lär du dig hur du konfigurerar en indexerare som importerar innehåll från Azure Files och gör det sökbart i Azure AI Search. Indata till indexeraren är dina filer i en enda resurs. Utdata är ett sökindex med sökbart innehåll och metadata som lagras i enskilda fält.
Om du vill konfigurera och köra indexeraren kan du använda:
- Rest-API:er för förhandsversion av söktjänsten, alla förhandsversioner.
- Ett Azure SDK-paket, vilken version som helst.
- Guiden Importera data i Azure Portal.
- Importera och vektorisera dataguiden i Azure Portal.
Förutsättningar
Azure Files, transaktionsoptimerad nivå.
En SMB-filresurs som tillhandahåller källinnehållet. NFS-resurser stöds inte.
Filer som innehåller text. Om du har binära data kan du inkludera AI-berikning för bildanalys.
Läsbehörigheter för Azure Storage. En "fullständig åtkomst" anslutningssträng innehåller en nyckel som ger åtkomst till innehållet.
Använd en REST-klient för att formulera REST-anrop som liknar dem som visas i den här artikeln.
Uppgifter som stöds
Du kan använda den här indexeraren för följande uppgifter:
- Dataindexering och inkrementell indexering: Indexeraren kan indexera filer och associerade metadata från tabeller. Den identifierar nya och uppdaterade filer och metadata via inbyggd ändringsidentifiering. Du kan konfigurera datauppdatering enligt ett schema eller på begäran.
- Borttagningsidentifiering: Indexeraren kan identifiera borttagningar via anpassade metadata.
- Tillämpad AI via kunskapsuppsättningar: Kompetensuppsättningar stöds fullt ut av indexeraren. Detta omfattar viktiga funktioner som integrerad vektorisering som lägger till datasegmentering och inbäddningssteg.
- Parsningslägen: Indexeraren stöder JSON-parsningslägen om du vill parsa JSON-matriser eller rader i enskilda sökdokument. Den stöder också Markdown-parsningsläge.
- Kompatibilitet med andra funktioner: Indexeraren är utformad för att fungera sömlöst med andra indexerarfunktioner, till exempel felsökningssessioner, indexerarens cache för inkrementella berikanden och kunskapslager.
Dokumentformat som stöds
Azure Files-indexeraren kan extrahera text från följande dokumentformat:
- CSV (se Indexering av CSV-blobar)
- EML
- EPUB
- GZ
- HTML
- JSON (se Indexering av JSON-blobar)
- KML (XML för geografiska representationer)
- Microsoft Office-format: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG (Outlook-e-post), XML (både 2003 och 2006 WORD XML)
- Öppna dokumentformat: ODT, ODS, ODP
- Oformaterade textfiler (se även Indexering av oformaterad text)
- RTF
- XML
- ZIP
Så här indexeras Azure Files
Som standard indexeras de flesta filer som ett enda sökdokument i indexet, inklusive filer med strukturerat innehåll, till exempel JSON eller CSV, som indexeras som ett enda textsegment.
Ett sammansatt eller inbäddat dokument (till exempel ett ZIP-arkiv, ett Word-dokument med inbäddad Outlook-e-post som innehåller bifogade filer eller en . MSG-fil med bifogade filer) indexeras också som ett enda dokument. Till exempel alla bilder som extraherats från bifogade filer i en . MSG-filen returneras i fältet normalized_images. Om du har bilder kan du överväga att lägga till AI-berikning för att få mer sökverktyg från det innehållet.
Textinnehåll i ett dokument extraheras till ett strängfält med namnet "content". Du kan också extrahera standard- och användardefinierade metadata.
Definiera datakällan
Datakällans definition anger vilka data som ska indexeras, autentiseringsuppgifter och principer för att identifiera ändringar i data. En datakälla definieras som en oberoende resurs så att den kan användas av flera indexerare.
Du kan använda 2020-06-30-preview eller senare för "type": "azurefile"
. Vi rekommenderar det senaste förhandsversions-API:et.
Skapa en datakälla för att ange dess definition med hjälp av ett förhandsversions-API för "type":
"azurefile"
.POST /datasources?api-version=2024-05-01-preview { "name" : "my-file-datasource", "type" : "azurefile", "credentials" : { "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<account name>;AccountKey=<account key>;" }, "container" : { "name" : "my-file-share", "query" : "<optional-directory-name>" } }
Ange "typ" till
"azurefile"
(krävs).Ange "autentiseringsuppgifter" till en Azure Storage-anslutningssträng. I nästa avsnitt beskrivs de format som stöds.
Ange "container" till rotfilresursen och använd "fråga" för att ange eventuella undermappar.
En datakällsdefinition kan också innehålla principer för mjuk borttagning om du vill att indexeraren ska ta bort ett sökdokument när källdokumentet flaggas för borttagning.
Autentiseringsuppgifter och anslutningssträng som stöds
Indexerare kan ansluta till en filresurs med hjälp av följande anslutningar.
Lagringskonto med fullständig åtkomst anslutningssträng |
---|
{ "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<your storage account>;AccountKey=<your account key>;" } |
Du kan hämta anslutningssträng från sidan Lagringskonto i Azure Portal genom att välja Åtkomstnycklar i det vänstra navigeringsfönstret. Se till att välja en fullständig anslutningssträng och inte bara en nyckel. |
Lägga till sökfält i ett index
I sökindexet lägger du till fält för att acceptera innehållet och metadata för dina Azure-filer.
Skapa eller uppdatera ett index för att definiera sökfält som lagrar filinnehåll och metadata.
POST /indexes?api-version=2024-07-01 { "name" : "my-search-index", "fields": [ { "name": "ID", "type": "Edm.String", "key": true, "searchable": false }, { "name": "content", "type": "Edm.String", "searchable": true, "filterable": false }, { "name": "metadata_storage_name", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true }, { "name": "metadata_storage_path", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true }, { "name": "metadata_storage_size", "type": "Edm.Int64", "searchable": false, "filterable": true, "sortable": true }, { "name": "metadata_storage_content_type", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true } ] }
Skapa ett dokumentnyckelfält ("nyckel": sant). För blobinnehåll är de bästa kandidaterna metadataegenskaper. Metadataegenskaper innehåller ofta tecken, till exempel och
-
, som/
är ogiltiga för dokumentnycklar. Indexeraren kodar automatiskt nyckelmetadataegenskapen, utan att det krävs någon konfiguration eller fältmappning.metadata_storage_path
(standard) fullständig sökväg till objektet eller filenmetadata_storage_name
kan endast användas om namn är unikaEn anpassad metadataegenskap som du lägger till i blobar. Det här alternativet kräver att blobuppladdningsprocessen lägger till metadataegenskapen till alla blobar. Eftersom nyckeln är en obligatorisk egenskap kan blobbar som saknar ett värde inte indexeras. Om du använder en anpassad metadataegenskap som en nyckel bör du undvika att göra ändringar i den egenskapen. Indexerare lägger till duplicerade dokument för samma blob om nyckelegenskapen ändras.
Lägg till ett "innehållsfält" för att lagra extraherad text från varje fil via blobens "innehållsegenskap". Du behöver inte använda det här namnet, men om du gör det kan du dra nytta av implicita fältmappningar.
Lägg till fält för standardmetadataegenskaper. I filindexering är standardmetadataegenskaperna samma som egenskaper för blobmetadata. Azure Files-indexeraren skapar automatiskt interna fältmappningar för dessa egenskaper som konverterar avstavade egenskapsnamn till understreckade egenskapsnamn. Du måste fortfarande lägga till de fält som du vill använda indexdefinitionen, men du kan utelämna att skapa fältmappningar i datakällan.
- metadata_storage_name (
Edm.String
) – filnamnet. Om du till exempel har en fil /my-share/my-folder/subfolder/resume.pdf ärresume.pdf
värdet för det här fältet . - metadata_storage_path (
Edm.String
) – filens fullständiga URI, inklusive lagringskontot. Till exempel:https://myaccount.file.core.windows.net/my-share/my-folder/subfolder/resume.pdf
- metadata_storage_content_type (
Edm.String
) – innehållstyp enligt den kod som du använde för att ladda upp filen. Exempel:application/octet-stream
- metadata_storage_last_modified (
Edm.DateTimeOffset
) – senast ändrad tidsstämpel för filen. Azure AI Search använder den här tidsstämpeln för att identifiera ändrade filer för att undvika att indexera om allt efter den första indexeringen. - metadata_storage_size (
Edm.Int64
) – filstorlek i byte. - metadata_storage_content_md5 (
Edm.String
) – MD5-hash för filinnehållet, om det är tillgängligt. - metadata_storage_sas_token (
Edm.String
) – En tillfällig SAS-token som kan användas av anpassade kunskaper för att få åtkomst till filen. Den här token bör inte lagras för senare användning eftersom den kan upphöra att gälla.
- metadata_storage_name (
Konfigurera och köra Azure Files-indexeraren
När indexet och datakällan har skapats är du redo att skapa indexeraren. Indexerarens konfiguration anger indata, parametrar och egenskaper som styr körningstidsbeteenden.
Skapa eller uppdatera en indexerare genom att ge den ett namn och referera till datakällan och målindexet:
POST /indexers?api-version=2024-07-01 { "name" : "my-file-indexer", "dataSourceName" : "my-file-datasource", "targetIndexName" : "my-search-index", "parameters": { "batchSize": null, "maxFailedItems": null, "maxFailedItemsPerBatch": null, "configuration": { "indexedFileNameExtensions" : ".pdf,.docx", "excludedFileNameExtensions" : ".png,.jpeg" } }, "schedule" : { }, "fieldMappings" : [ ] }
I det valfria avsnittet "konfiguration" anger du eventuella inkluderings- eller exkluderingsvillkor. Om det lämnas ospecificerat hämtas alla filer i filresursen.
Om både
indexedFileNameExtensions
ochexcludedFileNameExtensions
parametrar finns tittar Azure AI Search först påindexedFileNameExtensions
och sedan påexcludedFileNameExtensions
. Om samma filnamnstillägg finns i båda listorna undantas det från indexering.Ange fältmappningar om det finns skillnader i fältnamn eller typ, eller om du behöver flera versioner av ett källfält i sökindexet.
I filindexering kan du ofta utelämna fältmappningar eftersom indexeraren har inbyggt stöd för att mappa egenskaperna "innehåll" och metadata till fält med liknande namn och typ i ett index. För metadataegenskaper ersätter indexeraren automatiskt bindestreck
-
med understreck i sökindexet.Mer information om andra egenskaper finns i Skapa en indexerare .
En indexerare körs automatiskt när den skapas. Du kan förhindra detta genom att ange "inaktiverad" till true. Om du vill kontrollera indexerarens körning kör du en indexerare på begäran eller sätter den enligt ett schema.
Kontrollera status för indexerare
Om du vill övervaka indexerarens status och körningshistorik skickar du en get indexer-statusbegäran :
GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2024-07-01
Content-Type: application/json
api-key: [admin key]
Svaret innehåller status och antalet bearbetade objekt. Det bör se ut ungefär som i följande exempel:
{
"status":"running",
"lastResult": {
"status":"success",
"errorMessage":null,
"startTime":"2022-02-21T00:23:24.957Z",
"endTime":"2022-02-21T00:36:47.752Z",
"errors":[],
"itemsProcessed":1599501,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
"executionHistory":
[
{
"status":"success",
"errorMessage":null,
"startTime":"2022-02-21T00:23:24.957Z",
"endTime":"2022-02-21T00:36:47.752Z",
"errors":[],
"itemsProcessed":1599501,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
... earlier history items
]
}
Körningshistoriken innehåller upp till 50 av de senast slutförda körningarna, som sorteras i omvänd kronologisk ordning så att den senaste körningen kommer först.
Nästa steg
Nu kan du köra indexeraren, övervaka status eller schemalägga indexerarens körning. Följande artiklar gäller för indexerare som hämtar innehåll från Azure Storage: