Gegevens indexeren uit SharePoint-documentbibliotheken

Belangrijk

Ondersteuning voor sharePoint Online-indexeerfuncties is beschikbaar als openbare preview. Het wordt aangeboden 'as-is', onder aanvullende gebruiksvoorwaarden en wordt alleen ondersteund op best effort. Preview-functies worden niet aanbevolen voor productieworkloads en zijn niet gegarandeerd algemeen beschikbaar.

Ga naar de sectie bekende beperkingen voordat u begint.

Als u dit voorbeeld wilt gebruiken, vult u dit formulier in. U ontvangt geen goedkeuringsmelding direct nadat een toegangsaanvraag automatisch wordt geaccepteerd na indiening. Nadat de toegang is ingeschakeld, gebruikt u een PREVIEW REST API (2023-10-01-Preview of hoger) om uw inhoud te indexeren.

In dit artikel wordt uitgelegd hoe u een zoekindexeerfunctie configureert voor het indexeren van documenten die zijn opgeslagen in SharePoint-documentbibliotheken voor zoeken in volledige tekst in Azure AI Search. Configuratiestappen zijn eerst, gevolgd door gedrag en scenario's

Functionaliteit

Een indexeerfunctie in Azure AI Search is een crawler waarmee doorzoekbare gegevens en metagegevens uit een gegevensbron worden geëxtraheerd. De SharePoint Online-indexeerfunctie maakt verbinding met uw SharePoint-site en indexeert documenten uit een of meer documentbibliotheken. De indexeerfunctie biedt de volgende functionaliteit:

  • Indexeer bestanden en metagegevens uit een of meer documentbibliotheken.
  • Indexeer incrementeel, alleen de nieuwe en gewijzigde bestanden en metagegevens ophalen.
  • Verwijderingsdetectie is ingebouwd. Verwijdering in een documentbibliotheek wordt opgehaald bij de volgende uitvoering van de indexeerfunctie en het document wordt uit de index verwijderd.
  • Tekst en genormaliseerde afbeeldingen worden standaard geëxtraheerd uit de documenten die worden geïndexeerd. U kunt desgewenst een vaardighedenset toevoegen voor diepere AI-verrijking, zoals OCR of tekstomzetting.

Vereisten

Ondersteunde documentindelingen

De Indexeerfunctie van SharePoint Online 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
  • PDF
  • Tekstbestanden zonder opmaak (zie ook Indexering van tekst zonder opmaak)
  • RTF
  • XML
  • ZIP

Beperkingen en overwegingen

Dit zijn de beperkingen van deze functie:

  • Het indexeren van SharePoint-lijsten wordt niet ondersteund.

  • SharePoint indexeren. ASPX-site-inhoud wordt niet ondersteund.

  • OneNote-notitieblokbestanden worden niet ondersteund.

  • Privé-eindpunt wordt niet ondersteund.

  • Als u de naam van een SharePoint-map wijzigt, wordt incrementele indexering niet geactiveerd. Een hernoemde map wordt behandeld als nieuwe inhoud.

  • SharePoint ondersteunt een gedetailleerd autorisatiemodel dat de toegang per gebruiker bepaalt op documentniveau. De indexeerfunctie haalt deze machtigingen niet op in de index en Azure AI Search biedt geen ondersteuning voor autorisatie op documentniveau. Wanneer een document vanuit SharePoint wordt geïndexeerd in een zoekservice, is de inhoud beschikbaar voor iedereen die leestoegang tot de index heeft. Als u machtigingen op documentniveau nodig hebt, moet u beveiligingsfilters overwegen om resultaten te knippen en de machtigingen op bestandsniveau te kopiëren naar een veld in de index.

  • Het indexeren van door de gebruiker versleutelde bestanden, met IRM (Information Rights Management) beveiligde bestanden, ZIP-bestanden met wachtwoorden of vergelijkbare versleutelde inhoud wordt niet ondersteund. Om versleutelde inhoud te kunnen verwerken, moet de gebruiker met de juiste machtigingen voor het specifieke bestand de versleuteling verwijderen, zodat het item dienovereenkomstig kan worden geïndexeerd wanneer de indexeerfunctie de volgende geplande iteratie uitvoert.

Hier volgen de overwegingen bij het gebruik van deze functie:

  • Als u een SharePoint-oplossing voor inhoudsindexering nodig hebt in een productieomgeving, kunt u een aangepaste connector maken met SharePoint Webhooks, Microsoft Graph API aanroepen om de gegevens te exporteren naar een Azure Blob-container en vervolgens de Azure Blob-indexeerfunctie gebruiken voor incrementele indexering.
  • Als uw SharePoint-configuratie Microsoft 365-processen toestaat om metagegevens van het SharePoint-bestandssysteem bij te werken, moet u er rekening mee houden dat deze updates de SharePoint Online-indexeerfunctie kunnen activeren, waardoor de indexeerfunctie documenten meerdere keren kan opnemen. Omdat de Indexeerfunctie van SharePoint Online een connector van derden naar Azure is, kan de indexeerfunctie de configuratie niet lezen of het gedrag ervan variëren. Het reageert op wijzigingen in nieuwe en gewijzigde inhoud, ongeacht hoe deze updates worden aangebracht. Zorg er daarom voor dat u uw installatie test en inzicht krijgt in het aantal documenten voordat u de indexeerfunctie en ai-verrijking gebruikt.

De Indexeerfunctie van SharePoint Online configureren

Als u de SharePoint Online-indexeerfunctie wilt instellen, gebruikt u zowel Azure Portal als een preview-REST API.

Deze sectie bevat de stappen. U kunt ook de volgende video bekijken.

Stap 1 (optioneel): Door het systeem toegewezen beheerde identiteit inschakelen

Schakel een door het systeem toegewezen beheerde identiteit in om automatisch de tenant te detecteren waarin de zoekservice is ingericht.

Voer deze stap uit als de SharePoint-site zich in dezelfde tenant bevindt als de zoekservice. Sla deze stap over als de SharePoint-site zich in een andere tenant bevindt. De identiteit wordt niet gebruikt voor indexering, alleen tenantdetectie. U kunt deze stap ook overslaan als u de tenant-id in de verbindingsreeks wilt plaatsen.

Schermopname van het inschakelen van door het systeem toegewezen beheerde identiteit.

Nadat u Opslaan hebt geselecteerd, krijgt u een object-id die is toegewezen aan uw zoekservice.

Schermopname van de object-id.

Stap 2: bepalen welke machtigingen de indexeerfunctie nodig heeft

De SharePoint Online-indexeerfunctie ondersteunt zowel gedelegeerde als toepassingsmachtigingen . Kies welke machtigingen u wilt gebruiken op basis van uw scenario.

We raden machtigingen op basis van apps aan. Zie beperkingen voor bekende problemen met betrekking tot gedelegeerde machtigingen.

  • Toepassingsmachtigingen (aanbevolen), waarbij de indexeerfunctie wordt uitgevoerd onder de identiteit van de SharePoint-tenant met toegang tot alle sites en bestanden. Voor de indexeerfunctie is een clientgeheim vereist. De indexeerfunctie vereist ook goedkeuring van tenantbeheerders voordat deze inhoud kan indexeren.

  • Gedelegeerde machtigingen, waarbij de indexeerfunctie wordt uitgevoerd onder de identiteit van de gebruiker of app die de aanvraag verzendt. Gegevenstoegang is beperkt tot de sites en bestanden waartoe de beller toegang heeft. Ter ondersteuning van gedelegeerde machtigingen vereist de indexeerfunctie een apparaatcodeprompt om zich namens de gebruiker aan te melden. Door de gebruiker gedelegeerde machtigingen dwingt elke 75 minuten een tokenverloop af, volgens de meest recente beveiligingsbibliotheken die worden gebruikt om dit verificatietype te implementeren. Dit is geen gedrag dat kan worden aangepast. Een verlopen token vereist handmatige indexering met Run Indexer (preview). Daarom wilt u in plaats daarvan machtigingen op basis van apps.

Als uw Microsoft Entra-organisatie voorwaardelijke toegang heeft ingeschakeld en uw beheerder geen apparaattoegang kan verlenen voor gedelegeerde machtigingen, moet u in plaats daarvan machtigingen op basis van apps overwegen. Zie Het beleid voor voorwaardelijke toegang van Microsoft Entra voor meer informatie.

Stap 3: Een Microsoft Entra-toepassingsregistratie maken

De Indexeerfunctie van SharePoint Online gebruikt deze Microsoft Entra-toepassing voor verificatie.

  1. Meld u aan bij het Azure-portaal.

  2. Zoek of navigeer naar Microsoft Entra-id en selecteer App-registraties.

  3. Selecteer + Nieuwe registratie:

    1. Geef een naam op voor uw app.
    2. Selecteer Één tenant.
    3. Sla de URI-aanduidingsstap over. Er is geen omleidings-URI vereist.
    4. Selecteer Registreren.
  4. Selecteer aan de linkerkant API-machtigingen en voeg vervolgens een machtiging toe en vervolgens Microsoft Graph.

    • Als de indexeerfunctie api-machtigingen voor toepassingen gebruikt, selecteert u Toepassingsmachtigingen en voegt u het volgende toe:

      • Toepassing - Files.Read.All
      • Toepassing - Sites.Read.All

      Schermopname van api-machtigingen voor toepassingen.

      Het gebruik van toepassingsmachtigingen betekent dat de indexeerfunctie toegang heeft tot de SharePoint-site in een servicecontext. Dus wanneer u de indexeerfunctie uitvoert, heeft deze toegang tot alle inhoud in de SharePoint-tenant, waarvoor goedkeuring van de tenantbeheerder is vereist. Er is ook een clientgeheim vereist voor verificatie. Het instellen van het clientgeheim wordt verderop in dit artikel beschreven.

    • Als de indexeerfunctie gedelegeerde API-machtigingen gebruikt, selecteert u Gedelegeerde machtigingen en voegt u het volgende toe:

      • Gedelegeerd - Files.Read.All
      • Gedelegeerd - Sites.Read.All
      • Gedelegeerd - User.Read

      Schermopname van gedelegeerde API-machtigingen.

      Met gedelegeerde machtigingen kan de zoekclient verbinding maken met SharePoint onder de beveiligingsidentiteit van de huidige gebruiker.

  5. Geef beheerders toestemming.

    Toestemming van tenantbeheerders is vereist bij het gebruik van api-machtigingen voor toepassingen. Sommige tenants zijn vergrendeld op een zodanige manier dat tenantbeheerderstoestemming vereist is voor gedelegeerde API-machtigingen. Als een van deze voorwaarden van toepassing is, moet u een tenantbeheerder toestemming geven voor deze Microsoft Entra-toepassing voordat u de indexeerfunctie maakt.

    Schermopname van de Microsoft Entra-app die beheerderstoestemming verleent.

  6. Selecteer het tabblad Verificatie.

  7. Stel Openbare clientstromen toestaan in op Ja en selecteer Opslaan.

  8. Selecteer + Een platform toevoegen, selecteer vervolgens Mobiele en bureaubladtoepassingen en schakel vervolgens het selectievakje https://login.microsoftonline.com/common/oauth2/nativeclientin en configureer vervolgens.

    Schermopname van de configuratie van microsoft Entra-app-verificatie.

  9. (Alleen machtigingen voor de toepassings-API) Voor verificatie bij de Microsoft Entra-toepassing met behulp van toepassingsmachtigingen is voor de indexeerfunctie een clientgeheim vereist.

    • Selecteer Certificaten & Geheimen in het menu aan de linkerkant, vervolgens Clientgeheimen en vervolgens Nieuw clientgeheim.

      Schermopname van nieuw clientgeheim.

    • Voer in het menu dat verschijnt een beschrijving in voor het nieuwe clientgeheim. Pas indien nodig de vervaldatum aan. Als het geheim verloopt, moet het opnieuw worden gemaakt en moet de indexeerfunctie worden bijgewerkt met het nieuwe geheim.

      Schermopname die laat zien hoe u een clientgeheim instelt.

    • Het nieuwe clientgeheim wordt weergegeven in de lijst met geheimen. Zodra u van de pagina weg navigeert, is het geheim niet meer zichtbaar, dus kopieer het met behulp van de kopieerknop en sla het op een veilige locatie op.

      Schermopname die laat zien waar een clientgeheim moet worden gekopieerd.

Stap 4: Gegevensbron maken

Belangrijk

Gebruik vanaf deze sectie de PREVIEW REST API voor de resterende stappen. We raden de nieuwste preview-API aan, 2023-10-01-preview. Als u niet bekend bent met de AZURE AI Search REST API, raden we u aan deze quickstart te bekijken.

Een gegevensbron geeft aan welke gegevens moeten worden geïndexeerde, referenties en beleidsregels om wijzigingen in de gegevens efficiënt te identificeren (nieuwe, gewijzigde of verwijderde rijen). Een gegevensbron kan worden gebruikt door meerdere indexeerfuncties in dezelfde zoekservice.

Voor SharePoint-indexering moet de gegevensbron de volgende vereiste eigenschappen hebben:

  • naam is de unieke naam van de gegevensbron in uw zoekservice.
  • het type moet 'sharepoint' zijn. Deze waarde is hoofdlettergevoelig.
  • referenties bieden het SharePoint-eindpunt en de id van de Microsoft Entra-toepassing (client). Een voorbeeld van een SharePoint-eindpunt is https://microsoft.sharepoint.com/teams/MySharePointSite. U kunt het eindpunt ophalen door naar de startpagina van uw SharePoint-site te navigeren en de URL vanuit de browser te kopiëren.
  • container geeft aan welke documentbibliotheek moet worden geïndexeert. Eigenschappen bepalen welke documenten worden geïndexeerd.

Als u een gegevensbron wilt maken, roept u Gegevensbron maken (preview) aan.

POST https://[service name].search.windows.net/datasources?api-version=2023-10-01-Preview
Content-Type: application/json
api-key: [admin key]

{
    "name" : "sharepoint-datasource",
    "type" : "sharepoint",
    "credentials" : { "connectionString" : "[connection-string]" },
    "container" : { "name" : "defaultSiteLibrary", "query" : null }
}

tekenreeksindeling Verbinding maken

De indeling van de verbindingsreeks wordt gewijzigd op basis van of de indexeerfunctie gedelegeerde API-machtigingen of toepassings-API-machtigingen gebruikt

  • Gedelegeerde API-machtigingen verbindingsreeks-indeling

    SharePointOnlineEndpoint=[SharePoint site url];ApplicationId=[Azure AD App ID];TenantId=[SharePoint site tenant id]

  • Toepassings-API-machtigingen verbindingsreeks-indeling

    SharePointOnlineEndpoint=[SharePoint site url];ApplicationId=[Azure AD App ID];ApplicationSecret=[Azure AD App client secret];TenantId=[SharePoint site tenant id]

Notitie

Als de SharePoint-site zich in dezelfde tenant bevindt als de zoekservice en door het systeem toegewezen beheerde identiteit is ingeschakeld, TenantId hoeft deze niet te worden opgenomen in de verbindingsreeks. Als de SharePoint-site zich in een andere tenant bevindt dan de zoekservice, TenantId moet deze worden opgenomen.

Stap 5: een index maken

De index geeft de velden in een document, kenmerken en andere constructies op die de zoekervaring vormgeven.

Als u een index wilt maken, roept u Create Index aan (preview):

POST https://[service name].search.windows.net/indexes?api-version=2023-10-01-Preview
Content-Type: application/json
api-key: [admin key]

{
    "name" : "sharepoint-index",
    "fields": [
        { "name": "id", "type": "Edm.String", "key": true, "searchable": false },
        { "name": "metadata_spo_item_name", "type": "Edm.String", "key": false, "searchable": true, "filterable": false, "sortable": false, "facetable": false },
        { "name": "metadata_spo_item_path", "type": "Edm.String", "key": false, "searchable": false, "filterable": false, "sortable": false, "facetable": false },
        { "name": "metadata_spo_item_content_type", "type": "Edm.String", "key": false, "searchable": false, "filterable": true, "sortable": false, "facetable": true },
        { "name": "metadata_spo_item_last_modified", "type": "Edm.DateTimeOffset", "key": false, "searchable": false, "filterable": false, "sortable": true, "facetable": false },
        { "name": "metadata_spo_item_size", "type": "Edm.Int64", "key": false, "searchable": false, "filterable": false, "sortable": false, "facetable": false },
        { "name": "content", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false }
    ]
}

Belangrijk

Alleen metadata_spo_site_library_item_id kan worden gebruikt als het sleutelveld in een index die wordt gevuld door de SharePoint Online-indexeerfunctie. Als er geen sleutelveld in de gegevensbron bestaat, metadata_spo_site_library_item_id wordt automatisch toegewezen aan het sleutelveld.

Stap 6: een indexeerfunctie maken

Een indexeerfunctie verbindt een gegevensbron met een doelzoekindex en biedt een schema voor het automatiseren van de gegevensvernieuwing. Zodra de index en gegevensbron zijn gemaakt, kunt u de indexeerfunctie maken.

Tijdens deze stap wordt u gevraagd u aan te melden met organisatiereferenties die toegang hebben tot de SharePoint-site. Indien mogelijk raden we u aan een nieuw organisatiegebruikersaccount te maken en die nieuwe gebruiker de exacte machtigingen te geven die de indexeerfunctie moet hebben.

Er zijn enkele stappen voor het maken van de indexeerfunctie:

  1. Een aanvraag voor een indexeerfunctie maken (preview) verzenden:

    POST https://[service name].search.windows.net/indexers?api-version=2023-10-01-Preview
    Content-Type: application/json
    api-key: [admin key]
    
    {
        "name" : "sharepoint-indexer",
        "dataSourceName" : "sharepoint-datasource",
        "targetIndexName" : "sharepoint-index",
        "parameters": {
        "batchSize": null,
        "maxFailedItems": null,
        "maxFailedItemsPerBatch": null,
        "base64EncodeKeys": null,
        "configuration": {
            "indexedFileNameExtensions" : ".pdf, .docx",
            "excludedFileNameExtensions" : ".png, .jpg",
            "dataToExtract": "contentAndMetadata"
          }
        },
        "schedule" : { },
        "fieldMappings" : [
            { 
              "sourceFieldName" : "metadata_spo_site_library_item_id", 
              "targetFieldName" : "id", 
              "mappingFunction" : { 
                "name" : "base64Encode" 
              } 
             }
        ]
    }
    
  2. Wanneer u de indexeerfunctie voor het eerst maakt, wacht de aanvraag Indexeerfunctie maken (preview) totdat u de volgende stap hebt voltooid. U moet de Status van de indexeerfunctie ophalen aanroepen om de koppeling op te halen en uw nieuwe apparaatcode in te voeren.

    GET https://[service name].search.windows.net/indexers/sharepoint-indexer/status?api-version=2023-10-01-Preview
    Content-Type: application/json
    api-key: [admin key]
    

    Als u de Get Indexer-status niet binnen 10 minuten uitvoert, verloopt de code en moet u de gegevensbron opnieuw maken.

  3. Kopieer de aanmeldingscode van het apparaat uit het antwoord Status van de indexeerfunctie ophalen. De apparaataanmelding vindt u in de 'errorMessage'.

    {
        "lastResult": {
            "status": "transientFailure",
            "errorMessage": "To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code <CODE> to authenticate."
        }
    }
    
  4. Geef de code op die is opgenomen in het foutbericht.

    Schermopname die laat zien hoe u een apparaatcode invoert.

  5. De Indexeerfunctie van SharePoint Online opent de SharePoint-inhoud als de aangemelde gebruiker. De gebruiker die zich tijdens deze stap aanmeldt, is die aangemelde gebruiker. Als u zich dus aanmeldt met een gebruikersaccount dat geen toegang heeft tot een document in de documentbibliotheek die u wilt indexeren, heeft de indexeerfunctie geen toegang tot dat document.

    Indien mogelijk raden we u aan een nieuw gebruikersaccount te maken en die nieuwe gebruiker de exacte machtigingen te geven die de indexeerfunctie moet hebben.

  6. Keur de machtigingen goed die worden aangevraagd.

    Schermopname van het goedkeuren van API-machtigingen.

  7. De eerste aanvraag indexeerfunctie (preview) maken wordt voltooid als alle hierboven opgegeven machtigingen juist zijn en binnen de periode van tien minuten.

Notitie

Als de Microsoft Entra-toepassing beheerdersgoedkeuring vereist en niet is goedgekeurd voordat u zich aanmeldt, ziet u mogelijk het volgende scherm. Beheer goedkeuring is vereist om door te gaan. Schermopname met goedkeuring van de beheerder vereist.

Stap 7: De status van de indexeerfunctie controleren

Nadat de indexeerfunctie is gemaakt, kunt u de status van de indexeerfunctie ophalen aanroepen:

GET https://[service name].search.windows.net/indexers/sharepoint-indexer/status?api-version=2023-10-01-Preview
Content-Type: application/json
api-key: [admin key]

De gegevensbron bijwerken

Als het gegevensbronobject niet wordt bijgewerkt, wordt de indexeerfunctie uitgevoerd volgens een schema zonder tussenkomst van de gebruiker.

Als u echter het gegevensbronobject wijzigt terwijl de apparaatcode is verlopen, moet u zich opnieuw aanmelden om de indexeerfunctie uit te voeren. Als u bijvoorbeeld de gegevensbronquery wijzigt, meldt u zich opnieuw aan met behulp van de https://microsoft.com/devicelogin gegevensbron en haalt u de nieuwe apparaatcode op.

Hier volgen de stappen voor het bijwerken van een gegevensbron, ervan uitgaande dat er een verlopen apparaatcode is:

  1. Roep Run Indexer (preview) aan om de uitvoering van de indexeerfunctie handmatig te starten.

    POST https://[service name].search.windows.net/indexers/sharepoint-indexer/run?api-version=2023-10-01-Preview  
    Content-Type: application/json
    api-key: [admin key]
    
  2. Controleer de status van de indexeerfunctie.

    GET https://[service name].search.windows.net/indexers/sharepoint-indexer/status?api-version=2023-10-01-Preview
    Content-Type: application/json
    api-key: [admin key]
    
  3. Als u een foutmelding krijgt waarin u wordt gevraagd om te bezoeken https://microsoft.com/devicelogin, opent u de pagina en kopieert u de nieuwe code.

  4. Plak de code in het dialoogvenster.

  5. Voer de indexeerfunctie handmatig opnieuw uit en controleer de status van de indexeerfunctie. Deze keer moet de uitvoering van de indexeerfunctie worden gestart.

Documentmetagegevens indexeren

Als u documentmetagegevens indexeert ("dataToExtract": "contentAndMetadata"), zijn de volgende metagegevens beschikbaar voor index.

Identificatie Type Description
metadata_spo_site_library_item_id Edm.String De combinatiesleutel van site-id, bibliotheek-id en item-id, waarmee een item in een documentbibliotheek voor een site uniek wordt geïdentificeerd.
metadata_spo_site_id Edm.String De id van de SharePoint-site.
metadata_spo_library_id Edm.String De id van de documentbibliotheek.
metadata_spo_item_id Edm.String De id van het (document)-item in de bibliotheek.
metadata_spo_item_last_modified Edm.DateTimeOffset De laatst gewijzigde datum/tijd (UTC) van het item.
metadata_spo_item_name Edm.String De naam van het item.
metadata_spo_item_size Edm.Int64 De grootte (in bytes) van het item.
metadata_spo_item_content_type Edm.String Het inhoudstype van het item.
metadata_spo_item_extension Edm.String De uitbreiding van het item.
metadata_spo_item_weburi Edm.String De URI van het item.
metadata_spo_item_path Edm.String De combinatie van het bovenliggende pad en de itemnaam.

De Indexeerfunctie van SharePoint Online ondersteunt ook metagegevens die specifiek zijn voor elk documenttype. Meer informatie vindt u in eigenschappen voor metagegevens van inhoud die worden gebruikt in Azure AI Search.

Notitie

Als u aangepaste metagegevens wilt indexeren, moet 'additionalColumns' worden opgegeven in de queryparameter van de gegevensbron.

Opnemen of uitsluiten per bestandstype

U kunt bepalen welke bestanden worden geïndexeerd door insluitings- en uitsluitingscriteria in te stellen in de sectie Parameters van de definitie van de indexeerfunctie.

Voeg specifieke bestandsextensies toe door in te stellen "indexedFileNameExtensions" op een door komma's gescheiden lijst met bestandsextensies (met een voorlooppunt). Sluit specifieke bestandsextensies uit door de extensies in te stellen "excludedFileNameExtensions" die moeten worden overgeslagen. Als dezelfde extensie zich in beide lijsten bevindt, wordt deze uitgesloten van indexering.

PUT /indexers/[indexer name]?api-version=2020-06-30
{
    "parameters" : { 
        "configuration" : { 
            "indexedFileNameExtensions" : ".pdf, .docx",
            "excludedFileNameExtensions" : ".png, .jpeg" 
        } 
    }
}

Bepalen welke documenten worden geïndexeerd

Eén SharePoint Online-indexeerfunctie kan inhoud uit een of meer documentbibliotheken indexeren. Gebruik de parameter 'container' in de definitie van de gegevensbron om aan te geven van welke sites en documentbibliotheken u wilt indexeren.

De sectie Container van de gegevensbron heeft twee eigenschappen voor deze taak: 'name' en 'query'.

Naam

De eigenschap 'name' is vereist en moet een van de drie waarden zijn:

Weergegeven als Beschrijving
defaultSiteLibrary Indexeer alle inhoud uit de standaarddocumentbibliotheek van de site.
allSiteLibraries Indexeer alle inhoud van alle documentbibliotheken op een site. Documentbibliotheken van een subsite vallen buiten het bereik/ Als u inhoud van subsites nodig hebt, kiest u useQuery en geeft u 'includeLibrariesInSite' op.
useQuery Indexeer alleen de inhoud die is gedefinieerd in de query.

Query

De queryparameter van de gegevensbron bestaat uit trefwoord-/waardeparen. Hieronder vindt u de trefwoorden die kunnen worden gebruikt. De waarden zijn site-URL's of URL's van documentbibliotheek.

Notitie

Als u de waarde voor een bepaald trefwoord wilt ophalen, wordt u aangeraden naar de documentbibliotheek te navigeren die u probeert op te nemen/uit te sluiten en de URI uit de browser te kopiëren. Dit is de eenvoudigste manier om de waarde op te halen die moet worden gebruikt met een trefwoord in de query.

Trefwoord Beschrijving en voorbeelden van waarden
Nul Als null of leeg is, indexeert u de standaarddocumentbibliotheek of alle documentbibliotheken, afhankelijk van de containernaam.

Voorbeeld:

"container" : { "name" : "defaultSiteLibrary", "query" : null }
includeLibrariesInSite Indexeer inhoud uit alle bibliotheken onder de opgegeven site in de verbindingsreeks. Het bereik omvat alle subsites van uw site. De waarde moet de URI van de site of subsite zijn.

Voorbeeld:

"container" : { "name" : "useQuery", "query" : "includeLibrariesInSite=https://mycompany.sharepoint.com/mysite" }
includeLibrary Indexeer alle inhoud uit deze bibliotheek. De waarde is het volledig gekwalificeerde pad naar de bibliotheek, die kan worden gekopieerd vanuit uw browser:

Voorbeeld 1 (volledig gekwalificeerde pad):

"container" : { "name" : "useQuery", "query" : "includeLibrary=https://mycompany.sharepoint.com/mysite/MyDocumentLibrary" }

Voorbeeld 2 (URI gekopieerd uit uw browser):

"container" : { "name" : "useQuery", "query" : "includeLibrary=https://mycompany.sharepoint.com/teams/mysite/MyDocumentLibrary/Forms/AllItems.aspx" }
excludeLibrary Indexeer geen inhoud uit deze bibliotheek. De waarde is het volledig gekwalificeerde pad naar de bibliotheek, die kan worden gekopieerd vanuit uw browser:

Voorbeeld 1 (volledig gekwalificeerde pad):

"container" : { "name" : "useQuery", "query" : "includeLibrariesInSite=https://mysite.sharepoint.com/subsite1; excludeLibrary=https://mysite.sharepoint.com/subsite1/MyDocumentLibrary" }

Voorbeeld 2 (URI gekopieerd uit uw browser):

"container" : { "name" : "useQuery", "query" : "includeLibrariesInSite=https://mycompany.sharepoint.com/teams/mysite; excludeLibrary=https://mycompany.sharepoint.com/teams/mysite/MyDocumentLibrary/Forms/AllItems.aspx" }
additionalColumns Indexeer kolommen uit de documentbibliotheek. De waarde is een door komma's gescheiden lijst met kolomnamen die u wilt indexeren. Gebruik een dubbele backslash om puntkomma's en komma's in kolomnamen te escapen:

Voorbeeld 1 (additionalColumns=MyCustomColumn,MyCustomColumn2):

"container" : { "name" : "useQuery", "query" : "includeLibrary=https://mycompany.sharepoint.com/mysite/MyDocumentLibrary;additionalColumns=MyCustomColumn,MyCustomColumn2" }

Voorbeeld 2 (escape-tekens met dubbele backslash):

"container" : { "name" : "useQuery", "query" : "includeLibrary=https://mycompany.sharepoint.com/teams/mysite/MyDocumentLibrary/Forms/AllItems.aspx;additionalColumns=MyCustomColumnWith\\,,MyCustomColumnWith\\;" }

Afhandeling van fouten

De Indexeerfunctie van SharePoint Online stopt standaard zodra er een document met een niet-ondersteund inhoudstype wordt weergegeven (bijvoorbeeld een afbeelding). U kunt de excludedFileNameExtensions parameter gebruiken om bepaalde inhoudstypen over te slaan. Het is echter mogelijk dat u documenten moet indexeren zonder dat u alle mogelijke inhoudstypen van tevoren kent. Als u wilt doorgaan met indexeren wanneer een niet-ondersteund inhoudstype wordt aangetroffen, stelt u de failOnUnsupportedContentType configuratieparameter in op false:

PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2023-10-01-Preview
Content-Type: application/json
api-key: [admin key]

{
    ... other parts of indexer definition
    "parameters" : { "configuration" : { "failOnUnsupportedContentType" : false } }
}

Voor sommige documenten kan Azure AI Search het inhoudstype niet bepalen of kan een document van anderszins ondersteund inhoudstype niet verwerken. Als u deze foutmodus wilt negeren, stelt u de failOnUnprocessableDocument configuratieparameter in op false:

"parameters" : { "configuration" : { "failOnUnprocessableDocument" : false } }

Azure AI Search beperkt de grootte van documenten die worden geïndexeerd. Deze limieten worden beschreven in servicelimieten in Azure AI Search. Oversized documenten worden standaard behandeld als fouten. U kunt echter nog steeds metagegevens van oversized documenten indexeren als u de configuratieparameter instelt indexStorageMetadataOnlyForOversizedDocuments op waar:

"parameters" : { "configuration" : { "indexStorageMetadataOnlyForOversizedDocuments" : true } }

U kunt ook indexeren als er fouten optreden op elk moment van verwerking, tijdens het parseren van documenten of tijdens het toevoegen van documenten aan een index. Als u een specifiek aantal fouten wilt negeren, stelt u de maxFailedItems en maxFailedItemsPerBatch configuratieparameters in op de gewenste waarden. Voorbeeld:

{
    ... other parts of indexer definition
    "parameters" : { "maxFailedItems" : 10, "maxFailedItemsPerBatch" : 10 }
}

Als een bestand op de SharePoint-site versleuteling heeft ingeschakeld, kan er een foutbericht worden weergegeven dat lijkt op het volgende:

Code: resourceModified Message: The resource has changed since the caller last read it; usually an eTag mismatch Inner error: Code: irmEncryptFailedToFindProtector

Het foutbericht bevat ook de SharePoint-site-id, station-id en stationitem-id in het volgende patroon: <sharepoint site id> :: <drive id> :: <drive item id> Deze informatie kan worden gebruikt om te bepalen welk item mislukt op het SharePoint-einde. De gebruiker kan vervolgens de versleuteling van het item verwijderen om het probleem op te lossen.

Zie ook