Gegevens indexeren uit Azure Files
Belangrijk
Azure Files-indexeerfunctie is momenteel beschikbaar als openbare preview onder aanvullende gebruiksvoorwaarden. Gebruik een preview-REST API om de gegevensbron van de indexeerfunctie te maken.
In dit artikel leert u hoe u een indexeerfunctie configureert waarmee inhoud uit Azure Files wordt geïmporteerd en deze doorzoekbaar maakt in Azure AI Search. Invoer in de indexeerfunctie zijn uw bestanden in één share. Uitvoer is een zoekindex met doorzoekbare inhoud en metagegevens die zijn opgeslagen in afzonderlijke velden.
Als u de indexeerfunctie wilt configureren en uitvoeren, kunt u het volgende gebruiken:
- REST API's van Search Service Preview, elke preview-versie.
- Een Azure SDK-pakket, elke versie.
- Wizard Gegevens importeren in Azure Portal.
- De wizard Gegevens importeren en vectoriseren in Azure Portal.
Vereisten
Azure Files, laag geoptimaliseerd voor transacties.
Een SMB-bestandsshare die de broninhoud levert. NFS-shares worden niet ondersteund.
Bestanden met tekst. Als u binaire gegevens hebt, kunt u AI-verrijking opnemen voor afbeeldingsanalyse.
Leesmachtigingen voor Azure Storage. Een 'volledige toegang' verbindingsreeks bevat een sleutel die toegang verleent tot de inhoud.
Gebruik een REST-client om REST-aanroepen te formuleren die vergelijkbaar zijn met de aanroepen die in dit artikel worden weergegeven.
Ondersteunde taken
U kunt deze indexeerfunctie gebruiken voor de volgende taken:
- Gegevensindexering en incrementele indexering: de indexeerfunctie kan bestanden en bijbehorende metagegevens uit tabellen indexeren. Er worden nieuwe en bijgewerkte bestanden en metagegevens gedetecteerd via ingebouwde wijzigingsdetectie. U kunt gegevensvernieuwing configureren volgens een planning of op aanvraag.
- Verwijderingsdetectie: de indexeerfunctie kan verwijderingen detecteren via aangepaste metagegevens.
- Toegepaste AI via vaardighedensets: Vaardighedensets worden volledig ondersteund door de indexeerfunctie. Dit omvat belangrijke functies zoals geïntegreerde vectorisatie waarmee stappen voor het segmenteren en insluiten van gegevens worden toegevoegd.
- Parseringsmodi: de indexeerfunctie ondersteunt JSON-parseringsmodi als u JSON-matrices of regels wilt parseren in afzonderlijke zoekdocumenten. Het biedt ook ondersteuning voor de parseermodus van Markdown.
- Compatibiliteit met andere functies: de indexeerfunctie is ontworpen om naadloos te werken met andere indexeerfuncties, zoals foutopsporingssessies, indexeercache voor incrementele verrijkingen en kennisarchief.
Ondersteunde documentindelingen
De Indexeerfunctie van Azure Files kan tekst extraheren uit de volgende documentindelingen:
- CSV (zie CSV-blobs indexeren)
- EML
- EPUB
- GZ
- HTML
- JSON (zie JSON-blobs indexeren)
- KML (XML voor geografische weergaven)
- Microsoft Office-indelingen: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG (e-mailberichten van Outlook), XML (zowel 2003 als 2006 WORD XML)
- Documentindelingen openen: ODT, ODS, ODP
- Tekstbestanden zonder opmaak (zie ook Indexering van tekst zonder opmaak)
- RTF
- XML
- ZIP
Hoe Azure Files wordt geïndexeerd
Standaard worden de meeste bestanden geïndexeerd als één zoekdocument in de index, inclusief bestanden met gestructureerde inhoud, zoals JSON of CSV, die worden geïndexeerd als één stuk tekst.
Een samengesteld of ingesloten document (zoals een ZIP-archief, een Word-document met ingesloten Outlook-e-mail met bijlagen of een . MSG-bestand met bijlagen) wordt ook geïndexeerd als één document. Bijvoorbeeld alle afbeeldingen die zijn geëxtraheerd uit de bijlagen van een . MSG-bestand wordt geretourneerd in het veld normalized_images. Als u afbeeldingen hebt, kunt u OVERWEGEN OM AI-verrijking toe te voegen om meer zoekhulpprogramma's van die inhoud te krijgen.
Tekstuele inhoud van een document wordt geëxtraheerd in een tekenreeksveld met de naam 'inhoud'. U kunt ook standaard en door de gebruiker gedefinieerde metagegevens extraheren.
De gegevensbron definiëren
De definitie van de gegevensbron geeft de gegevens op die moeten worden geïndexeerde, referenties en beleidsregels voor het identificeren van wijzigingen in de gegevens. Een gegevensbron wordt gedefinieerd als een onafhankelijke resource, zodat deze kan worden gebruikt door meerdere indexeerfuncties.
U kunt 2020-06-30-preview of hoger gebruiken voor 'type': "azurefile"
. We raden de nieuwste preview-API aan.
Maak een gegevensbron om de definitie ervan in te stellen met behulp van een preview-API voor '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>" } }
Stel 'type' in op
"azurefile"
(vereist).Stel referenties in op een Azure Storage-verbindingsreeks. In de volgende sectie worden de ondersteunde indelingen beschreven.
Stel 'container' in op de hoofdbestandsshare en gebruik 'query' om submappen op te geven.
Een definitie van een gegevensbron kan ook beleid voor voorlopig verwijderen bevatten, als u wilt dat de indexeerfunctie een zoekdocument verwijdert wanneer het brondocument wordt gemarkeerd voor verwijdering.
Ondersteunde referenties en verbindingsreeks s
Indexeerfuncties kunnen verbinding maken met een bestandsshare met behulp van de volgende verbindingen.
Opslagaccount voor volledige toegang verbindingsreeks |
---|
{ "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<your storage account>;AccountKey=<your account key>;" } |
U kunt de verbindingsreeks ophalen op de pagina Opslagaccount in Azure Portal door toegangssleutels te selecteren in het linkernavigatiedeelvenster. Zorg ervoor dat u een volledige verbindingsreeks en niet alleen een sleutel selecteert. |
Zoekvelden toevoegen aan een index
Voeg in de zoekindex velden toe om de inhoud en metagegevens van uw Azure-bestanden te accepteren.
Maak of werk een index bij om zoekvelden te definiëren waarmee bestandsinhoud en metagegevens worden opgeslagen.
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 } ] }
Maak een documentsleutelveld ('sleutel': true'). Voor blob-inhoud zijn de beste kandidaten metagegevenseigenschappen. Metagegevenseigenschappen bevatten vaak tekens, zoals
/
en-
, die ongeldig zijn voor documentsleutels. De indexeerfunctie codeert automatisch de eigenschap sleutelmetagegevens, zonder dat er configuratie of veldtoewijzing is vereist.metadata_storage_path
(standaard) volledig pad naar het object of bestandmetadata_storage_name
alleen bruikbaar als namen uniek zijnEen aangepaste metagegevenseigenschap die u toevoegt aan blobs. Deze optie vereist dat uw blobuploadproces die metagegevenseigenschap toevoegt aan alle blobs. Omdat de sleutel een vereiste eigenschap is, kunnen blobs die een waarde missen, niet worden geïndexeerd. Als u een aangepaste metagegevenseigenschap als sleutel gebruikt, moet u geen wijzigingen aanbrengen in die eigenschap. Indexeerfuncties voegen dubbele documenten toe voor dezelfde blob als de sleuteleigenschap wordt gewijzigd.
Voeg een inhoudsveld toe om geëxtraheerde tekst uit elk bestand op te slaan via de eigenschap 'inhoud' van de blob. U hoeft deze naam niet te gebruiken, maar hiermee kunt u gebruikmaken van impliciete veldtoewijzingen.
Voeg velden toe voor standaardmetagegevenseigenschappen. Bij bestandsindexering zijn de standaardmetagegevenseigenschappen hetzelfde als de eigenschappen van de blobmetagegevens. De Indexeerfunctie van Azure Files maakt automatisch interne veldtoewijzingen voor deze eigenschappen waarmee namen van afbreekstreepjes worden geconverteerd naar onderstrepingstekens voor eigenschapsnamen. U moet nog steeds de velden toevoegen die u wilt gebruiken voor de indexdefinitie, maar u kunt veldtoewijzingen weglaten in de gegevensbron.
- metadata_storage_name (
Edm.String
) - de bestandsnaam. Als u bijvoorbeeld een bestand /my-share/my-folder/submap/resume.pdf hebt, isresume.pdf
de waarde van dit veld. - metadata_storage_path (
Edm.String
) - de volledige URI van het bestand, inclusief het opslagaccount. Bijvoorbeeldhttps://myaccount.file.core.windows.net/my-share/my-folder/subfolder/resume.pdf
- metadata_storage_content_type (
Edm.String
) - inhoudstype zoals opgegeven door de code die u hebt gebruikt om het bestand te uploaden. Bijvoorbeeld:application/octet-stream
. - metadata_storage_last_modified (
Edm.DateTimeOffset
) - laatst gewijzigde tijdstempel voor het bestand. Azure AI Search gebruikt deze tijdstempel om gewijzigde bestanden te identificeren, om te voorkomen dat alles na de eerste indexering opnieuw wordt geïndexeerde. - metadata_storage_size (
Edm.Int64
) - bestandsgrootte in bytes. - metadata_storage_content_md5 (
Edm.String
) - MD5-hash van de bestandsinhoud, indien beschikbaar. - metadata_storage_sas_token (
Edm.String
) - Een tijdelijk SAS-token dat kan worden gebruikt door aangepaste vaardigheden om toegang te krijgen tot het bestand. Dit token mag niet worden opgeslagen voor later gebruik, omdat het mogelijk verloopt.
- metadata_storage_name (
De Indexeerfunctie van Azure Files configureren en uitvoeren
Zodra de index en de gegevensbron zijn gemaakt, kunt u de indexeerfunctie maken. De configuratie van de indexeerfunctie geeft de invoer, parameters en eigenschappen aan die het gedrag van de uitvoeringstijd regelen.
Maak of werk een indexeerfunctie bij door deze een naam te geven en te verwijzen naar de gegevensbron en doelindex:
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" : [ ] }
Geef in de optionele sectie Configuratie alle insluitings- of uitsluitingscriteria op. Als u niets opgeeft, worden alle bestanden in de bestandsshare opgehaald.
Als beide
indexedFileNameExtensions
parameters aanwezigexcludedFileNameExtensions
zijn, kijkt Azure AI Search eerst naarindexedFileNameExtensions
, dan naarexcludedFileNameExtensions
. Als dezelfde bestandsextensie aanwezig is in beide lijsten, wordt deze uitgesloten van indexering.Geef veldtoewijzingen op als er verschillen zijn in veldnaam of -type, of als u meerdere versies van een bronveld in de zoekindex nodig hebt.
Bij het indexeren van bestanden kunt u veldtoewijzingen vaak weglaten omdat de indexeerfunctie ingebouwde ondersteuning heeft voor het toewijzen van de eigenschappen 'inhoud' en metagegevens aan velden met vergelijkbare namen en getypte velden in een index. Voor eigenschappen van metagegevens vervangt de indexeerfunctie automatisch afbreekstreepjes door onderstrepingstekens
-
in de zoekindex.Zie Een indexeerfunctie maken voor meer informatie over andere eigenschappen.
Een indexeerfunctie wordt automatisch uitgevoerd wanneer deze wordt gemaakt. U kunt dit voorkomen door 'uitgeschakeld' in te stellen op waar. Als u de uitvoering van de indexeerfunctie wilt beheren, voert u een indexeerfunctie op aanvraag uit of plaatst u deze in een schema.
De status van de indexeerfunctie controleren
Als u de status en uitvoeringsgeschiedenis van de indexeerfunctie wilt controleren, verzendt u een get-indexeerstatusaanvraag :
GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2024-07-01
Content-Type: application/json
api-key: [admin key]
Het antwoord bevat de status en het aantal verwerkte items. Het moet er ongeveer uitzien als in het volgende voorbeeld:
{
"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
]
}
De uitvoeringsgeschiedenis bevat maximaal 50 van de laatst voltooide uitvoeringen, die in de omgekeerde chronologische volgorde worden gesorteerd, zodat de laatste uitvoering als eerste wordt uitgevoerd.
Volgende stappen
U kunt nu de indexeerfunctie uitvoeren, de status bewaken of de uitvoering van de indexeerfunctie plannen. De volgende artikelen zijn van toepassing op indexeerfuncties die inhoud ophalen uit Azure Storage: