Share via


Indicizzare i dati dalle raccolte documenti di SharePoint

Importante

Il supporto dell'indicizzatore di SharePoint Online è disponibile in anteprima pubblica. Viene offerto "così come è", in Condizioni supplementari per l'utilizzo e supportato solo per il massimo sforzo. Le funzionalità di anteprima non sono consigliate per i carichi di lavoro di produzione e non sono necessariamente disponibili a livello generale.

Assicurarsi di visitare la sezione limitazioni note prima di iniziare.

Per usare questa anteprima, compilare questo modulo. Non si riceverà alcuna notifica di approvazione subito dopo, perché qualsiasi richiesta di accesso viene accettata automaticamente dopo l'invio. Dopo aver abilitato l'accesso, usare un'API REST di anteprima (2023-10-01-Preview o versione successiva) per indicizzare il contenuto.

Questo articolo illustra come configurare un indicizzatore di ricerca per indicizzare i documenti archiviati nelle raccolte documenti di SharePoint per la ricerca full-text in Ricerca di Intelligenza artificiale di Azure. I passaggi di configurazione sono innanzitutto seguiti da comportamenti e scenari

Funzionalità

Un indicizzatore in Ricerca di intelligenza artificiale di Azure è un crawler che estrae dati e metadati ricercabili da un'origine dati. L'indicizzatore di SharePoint Online si connette al sito di SharePoint e indicizza i documenti da una o più raccolte documenti. L'indicizzatore offre le funzionalità seguenti:

  • Indicizzare file e metadati da una o più raccolte documenti.
  • Indicizzare in modo incrementale, raccogliendo solo i file e i metadati nuovi e modificati.
  • Il rilevamento dell'eliminazione è integrato. L'eliminazione in una raccolta documenti viene prelevata all'esecuzione successiva dell'indicizzatore e il documento viene rimosso dall'indice.
  • Il testo e le immagini normalizzate vengono estratti per impostazione predefinita dai documenti indicizzati. Facoltativamente, è possibile aggiungere un set di competenze per l'arricchimento più approfondito dell'intelligenza artificiale, ad esempio OCR o traduzione testuale.

Prerequisiti

Formati di documento supportati

L'indicizzatore di SharePoint Online può estrarre testo dai formati di documento seguenti:

  • CSV (vedere Indicizzazione di BLOB CSV)
  • EML
  • EPUB
  • GZ
  • HTML
  • JSON (vedere Indicizzazione di BLOB JSON)
  • KML (XML per le rappresentazioni geografiche)
  • Formati di Microsoft Office: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPTM, MSG (messaggi di posta elettronica di Outlook), XML (xml sia 2003 che 2006 WORD XML)
  • Formati di documento aperti: ODT, ODS, ODP
  • PDF
  • File di testo normale (vedere anche Indicizzazione di testo normale)
  • RTF
  • XML
  • ZIP

Limitazioni e considerazioni

Ecco le limitazioni di questa funzionalità:

  • L'indicizzazione degli elenchi di SharePoint non è supportata.

  • Indicizzazione di SharePoint. Il contenuto del sito ASPX non è supportato.

  • I file del blocco appunti di OneNote non sono supportati.

  • L'endpoint privato non è supportato.

  • La ridenominazione di una cartella di SharePoint non attiva l'indicizzazione incrementale. Una cartella rinominata viene considerata come nuovo contenuto.

  • SharePoint supporta un modello di autorizzazione granulare che determina l'accesso per utente a livello di documento. L'indicizzatore non esegue il pull di queste autorizzazioni nell'indice e Ricerca di intelligenza artificiale di Azure non supporta l'autorizzazione a livello di documento. Quando un documento viene indicizzato da SharePoint in un servizio di ricerca, il contenuto è disponibile per chiunque abbia accesso in lettura all'indice. Se sono necessarie autorizzazioni a livello di documento, è consigliabile considerare i filtri di sicurezza per tagliare i risultati e automatizzare la copia delle autorizzazioni a livello di file in un campo nell'indice.

  • L'indicizzazione di file crittografati dall'utente, file protetti da Information Rights Management (IRM), file ZIP con password o contenuto crittografato simile non è supportato. Affinché il contenuto crittografato venga elaborato, l'utente con autorizzazioni appropriate per il file specifico deve rimuovere la crittografia in modo che l'elemento possa essere indicizzato di conseguenza quando l'indicizzatore esegue l'iterazione pianificata successiva.

Di seguito sono riportate le considerazioni relative all'uso di questa funzionalità:

  • Se è necessaria una soluzione di indicizzazione del contenuto di SharePoint in un ambiente di produzione, è consigliabile creare un connettore personalizzato con webhook di SharePoint, chiamare l'API Microsoft Graph per esportare i dati in un contenitore BLOB di Azure e quindi usare l'indicizzatore BLOB di Azure per l'indicizzazione incrementale.
  • Se la configurazione di SharePoint consente ai processi di Microsoft 365 di aggiornare i metadati del file system di SharePoint, tenere presente che questi aggiornamenti possono attivare l'indicizzatore di SharePoint Online, causando l'inserimento più volte dei documenti da parte dell'indicizzatore. Poiché l'indicizzatore di SharePoint Online è un connettore di terze parti in Azure, l'indicizzatore non può leggere la configurazione o variarne il comportamento. Risponde alle modifiche apportate al contenuto nuovo e modificato, indipendentemente dal modo in cui vengono eseguiti gli aggiornamenti. Per questo motivo, assicurarsi di testare la configurazione e comprendere il conteggio dell'elaborazione dei documenti prima di usare l'indicizzatore e qualsiasi arricchimento tramite intelligenza artificiale.

Configurare l'indicizzatore di SharePoint Online

Per configurare l'indicizzatore di SharePoint Online, usare sia il portale di Azure che un'API REST di anteprima.

In questa sezione vengono illustrati i passaggi. È anche possibile guardare il video seguente.

Passaggio 1 (facoltativo): Abilitare l'identità gestita assegnata dal sistema

Abilitare un'identità gestita assegnata dal sistema per rilevare automaticamente il tenant in cui viene effettuato il provisioning del servizio di ricerca.

Eseguire questo passaggio se il sito di SharePoint si trova nello stesso tenant del servizio di ricerca. Ignorare questo passaggio se il sito di SharePoint si trova in un tenant diverso. L'identità non viene usata per l'indicizzazione, ma solo per il rilevamento del tenant. È anche possibile ignorare questo passaggio se si vuole inserire l'ID tenant nel stringa di connessione.

Screenshot che mostra come abilitare l'identità gestita assegnata dal sistema.

Dopo aver selezionato Salva, si ottiene un ID oggetto assegnato al servizio di ricerca.

Screenshot dell'identificatore dell'oggetto.

Passaggio 2: Decidere quali autorizzazioni l'indicizzatore richiede

L'indicizzatore di SharePoint Online supporta sia le autorizzazioni delegate che le autorizzazioni dell'applicazione . Scegliere le autorizzazioni da usare in base allo scenario.

È consigliabile usare le autorizzazioni basate su app. Vedere limitazioni per i problemi noti relativi alle autorizzazioni delegate.

  • Autorizzazioni dell'applicazione (scelta consigliata), in cui l'indicizzatore viene eseguito con l'identità del tenant di SharePoint con accesso a tutti i siti e i file. L'indicizzatore richiede un segreto client. L'indicizzatore richiederà anche l'approvazione dell'amministratore tenant prima di poter indicizzare qualsiasi contenuto.

  • Autorizzazioni delegate, in cui l'indicizzatore viene eseguito con l'identità dell'utente o dell'app che invia la richiesta. L'accesso ai dati è limitato ai siti e ai file a cui il chiamante ha accesso. Per supportare le autorizzazioni delegate, l'indicizzatore richiede un prompt del codice del dispositivo per accedere per conto dell'utente. Le autorizzazioni delegate dall'utente applicano la scadenza dei token ogni 75 minuti, in base alle librerie di sicurezza più recenti usate per implementare questo tipo di autenticazione. Questo non è un comportamento che può essere regolato. Un token scaduto richiede l'indicizzazione manuale tramite Run Indexer (anteprima).An expired token requires manual indexing using Run Indexer (preview). Per questo motivo, potresti voler invece le autorizzazioni basate su app.

Se l'organizzazione Microsoft Entra ha l'accesso condizionale abilitato e l'amministratore non è in grado di concedere l'accesso ai dispositivi per le autorizzazioni delegate, è consigliabile prendere in considerazione le autorizzazioni basate su app. Per altre informazioni, vedere Criteri di accesso condizionale di Microsoft Entra.

Passaggio 3: Creare una registrazione dell'applicazione Microsoft Entra

L'indicizzatore di SharePoint Online usa questa applicazione Microsoft Entra per l'autenticazione.

  1. Accedere al portale di Azure.

  2. Cercare o passare a Microsoft Entra ID e quindi selezionare Registrazioni app.

  3. Selezionare + Nuova registrazione:

    1. Specificare un nome per l'app.
    2. Selezionare Tenant singolo.
    3. Ignorare il passaggio di designazione URI. Non è necessario alcun URI di reindirizzamento.
    4. Selezionare Registra.
  4. A sinistra selezionare Autorizzazioni API, quindi Aggiungi un'autorizzazione, quindi Microsoft Graph.

    • Se l'indicizzatore usa le autorizzazioni API dell'applicazione, selezionare Autorizzazioni applicazione e aggiungere quanto segue:

      • Applicazione - Files.Read.All
      • Applicazione - Sites.Read.All

      Screenshot delle autorizzazioni dell'API dell'applicazione.

      L'uso delle autorizzazioni dell'applicazione significa che l'indicizzatore accede al sito di SharePoint in un contesto del servizio. Quindi, quando si esegue l'indicizzatore, si avrà accesso a tutto il contenuto nel tenant di SharePoint, che richiede l'approvazione dell'amministratore tenant. Per l'autenticazione è necessario anche un segreto client. La configurazione del segreto client è descritta più avanti in questo articolo.

    • Se l'indicizzatore usa autorizzazioni API delegate, selezionare Autorizzazioni delegate e aggiungere quanto segue:

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

      Screenshot che mostra le autorizzazioni dell'API delegate.

      Le autorizzazioni delegate consentono al client di ricerca di connettersi a SharePoint con l'identità di sicurezza dell'utente corrente.

  5. Concedere il consenso dell'amministratore.

    Il consenso dell'amministratore tenant è necessario quando si usano le autorizzazioni API dell'applicazione. Alcuni tenant sono bloccati in modo che il consenso dell'amministratore tenant sia necessario anche per le autorizzazioni API delegate. Se una di queste condizioni si applica, è necessario avere un consenso per l'amministratore del tenant per questa applicazione Microsoft Entra prima di creare l'indicizzatore.

    Screenshot che mostra il consenso amministratore per la concessione dell'app Microsoft Entra.

  6. Seleziona la scheda Autenticazione.

  7. Impostare Consenti flussi client pubblici su e quindi selezionare Salva.

  8. Selezionare + Aggiungi una piattaforma, quindi Applicazioni per dispositivi mobili e desktop, quindi selezionare https://login.microsoftonline.com/common/oauth2/nativeclient, quindi Configura.

    Screenshot che mostra la configurazione dell'autenticazione dell'app Microsoft Entra.

  9. (solo autorizzazioni API dell'applicazione) Per eseguire l'autenticazione all'applicazione Microsoft Entra usando le autorizzazioni dell'applicazione, l'indicizzatore richiede un segreto client.

    • Selezionare Certificati e segreti dal menu a sinistra, quindi Segreti client, quindi Nuovo segreto client.

      Screenshot che mostra il nuovo segreto client.

    • Nel menu visualizzato immettere una descrizione per il nuovo segreto client. Modificare la data di scadenza, se necessario. Se il segreto scade, deve essere ricreato e l'indicizzatore deve essere aggiornato con il nuovo segreto.

      Screenshot che mostra come configurare un segreto client.

    • Il nuovo segreto client viene visualizzato nell'elenco dei segreti. Quando si esce dalla pagina, il segreto non è più visibile, quindi copiarlo usando il pulsante di copia e salvarlo in una posizione sicura.

      Screenshot che mostra dove copiare un segreto client.

Passaggio 4: Creare un'origine dati

Importante

A partire da questa sezione, usare l'API REST di anteprima per i passaggi rimanenti. È consigliabile usare l'API di anteprima più recente, 2023-10-01-preview. Se non si ha familiarità con l'API REST di Ricerca di intelligenza artificiale di Azure, è consigliabile esaminare questa guida introduttiva.

Un'origine dati specifica i dati da indicizzare, credenziali e criteri per identificare in modo efficiente le modifiche nei dati (righe nuove, modificate o eliminate). Un'origine dati può essere usata da più indicizzatori nello stesso servizio di ricerca.

Per l'indicizzazione di SharePoint, l'origine dati deve avere le proprietà necessarie seguenti:

  • name è il nome univoco dell'origine dati all'interno del servizio di ricerca.
  • il tipo deve essere "sharepoint". Per questo valore viene applicata la distinzione tra maiuscole e minuscole.
  • le credenziali forniscono l'endpoint di SharePoint e l'ID applicazione Microsoft Entra (client). Un esempio di endpoint di SharePoint è https://microsoft.sharepoint.com/teams/MySharePointSite. È possibile ottenere l'endpoint passando alla home page del sito di SharePoint e copiando l'URL dal browser.
  • contenitore specifica la raccolta documenti da indicizzare. Le proprietà controllano i documenti indicizzati.

Per creare un'origine dati, chiamare Crea origine dati (anteprima).

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

Formato della stringa di connessione

Il formato del stringa di connessione cambia in base al fatto che l'indicizzatore usi autorizzazioni API delegate o autorizzazioni API dell'applicazione

  • Autorizzazioni API delegate stringa di connessione formato

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

  • Autorizzazioni api dell'applicazione stringa di connessione formato

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

Nota

Se il sito di SharePoint si trova nello stesso tenant del servizio di ricerca e l'identità gestita assegnata dal sistema è abilitata, TenantId non deve essere incluso nella stringa di connessione. Se il sito di SharePoint si trova in un tenant diverso dal servizio di ricerca, TenantId deve essere incluso.

Passaggio 5: Creare un indice

L'indice consente di specificare i campi in un documento, gli attributi e altri costrutti che danno forma all'esperienza della ricerca.

Per creare un indice, chiamare Crea indice (anteprima):

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

Importante

Può essere utilizzato solo metadata_spo_site_library_item_id come campo chiave in un indice popolato dall'indicizzatore di SharePoint Online. Se nell'origine dati non esiste un campo chiave, metadata_spo_site_library_item_id viene eseguito automaticamente il mapping al campo chiave.

Passaggio 6: Creare un indicizzatore

Un indicizzatore si connette a un'origine dati con un indice di ricerca di destinazione e pianifica l’automatizzazione dell'aggiornamento dei dati. Dopo aver creato l'indice e l'origine dati, è possibile creare l'indicizzatore.

Durante questo passaggio viene chiesto di accedere con le credenziali dell'organizzazione che hanno accesso al sito di SharePoint. Se possibile, è consigliabile creare un nuovo account utente dell'organizzazione e concedere al nuovo utente le autorizzazioni esatte che si desidera che l'indicizzatore abbia.

Per creare l'indicizzatore sono necessari alcuni passaggi:

  1. Inviare una richiesta di creazione dell'indicizzatore (anteprima):

    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. Quando si crea l'indicizzatore per la prima volta, la richiesta Crea indicizzatore (anteprima) attende fino al completamento del passaggio successivo. È necessario chiamare Get Indexer Status (Ottieni stato indicizzatore) per ottenere il collegamento e immettere il nuovo codice del dispositivo.

    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]
    

    Se non si esegue Il recupero dello stato dell'indicizzatore entro 10 minuti, il codice scade e sarà necessario ricreare l'origine dati.

  3. Copiare il codice di accesso del dispositivo dalla risposta Ottieni stato dell'indicizzatore. L'account di accesso del dispositivo è disponibile in "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. Specificare il codice incluso nel messaggio di errore.

    Screenshot che mostra come immettere un codice del dispositivo.

  5. L'indicizzatore di SharePoint Online accederà al contenuto di SharePoint come utente connesso. L'utente che accede durante questo passaggio sarà l'utente connesso. Pertanto, se si accede con un account utente che non ha accesso a un documento nella raccolta documenti da indicizzare, l'indicizzatore non avrà accesso a tale documento.

    Se possibile, è consigliabile creare un nuovo account utente e concedere al nuovo utente le autorizzazioni esatte che si desidera che l'indicizzatore abbia.

  6. Approvare le autorizzazioni richieste.

    Screenshot che mostra come approvare le autorizzazioni API.

  7. La richiesta iniziale Crea indicizzatore (anteprima) viene completata se tutte le autorizzazioni fornite in precedenza sono corrette e entro l'intervallo di tempo di 10 minuti.

Nota

Se l'applicazione Microsoft Entra richiede l'approvazione dell'amministratore e non è stata approvata prima dell'accesso, è possibile che venga visualizzata la schermata seguente. Amministrazione'approvazione è necessaria per continuare. Screenshot che mostra l'approvazione dell'amministratore richiesta.

Passaggio 7: Controllare lo stato dell'indicizzatore

Dopo aver creato l'indicizzatore, è possibile chiamare Get Indexer Status:After the indexer been created, you can call Get Indexer Status:

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]

Aggiornamento dell'origine dati

Se non sono presenti aggiornamenti all'oggetto origine dati, l'indicizzatore viene eseguito in base a una pianificazione senza alcuna interazione dell'utente.

Tuttavia, se si modifica l'oggetto origine dati mentre il codice del dispositivo è scaduto, è necessario eseguire di nuovo l'accesso affinché l'indicizzatore venga eseguito. Ad esempio, se si modifica la query dell'origine dati, accedere di nuovo usando https://microsoft.com/devicelogin e ottenere il nuovo codice del dispositivo.

Ecco i passaggi per l'aggiornamento di un'origine dati, presupponendo che un codice del dispositivo scaduto:

  1. Chiamare Run Indexer (anteprima) per avviare manualmente l'esecuzione dell'indicizzatore.

    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. Controllare lo stato dell'indicizzatore.

    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. Se viene visualizzato un errore che chiede di visitare https://microsoft.com/devicelogin, aprire la pagina e copiare il nuovo codice.

  4. Incollare il codice nella finestra di dialogo.

  5. Eseguire di nuovo l'indicizzatore manualmente e controllare lo stato dell'indicizzatore. Questa volta, l'esecuzione dell'indicizzatore dovrebbe essere avviata correttamente.

Indicizzazione dei metadati del documento

Se si esegue l'indicizzazione dei metadati del documento ("dataToExtract": "contentAndMetadata"), i metadati seguenti saranno disponibili per l'indicizzazione.

Identificatore Tipo Descrizione
metadata_spo_site_library_item_id Edm.String Chiave combinata di ID sito, ID raccolta e ID elemento, che identifica in modo univoco un elemento in una raccolta documenti per un sito.
metadata_spo_site_id Edm.String ID del sito di SharePoint.
metadata_spo_library_id Edm.String ID della raccolta documenti.
metadata_spo_item_id Edm.String ID dell'elemento (documento) nella raccolta.
metadata_spo_item_last_modified Edm.DateTimeOffset Data/ora dell'ultima modifica (UTC) dell'elemento.
metadata_spo_item_name Edm.String Nome dell'elemento.
metadata_spo_item_size Edm.Int64 Dimensioni (in byte) dell'elemento.
metadata_spo_item_content_type Edm.String Tipo di contenuto dell'elemento.
metadata_spo_item_extension Edm.String Estensione dell'elemento.
metadata_spo_item_weburi Edm.String URI dell'elemento.
metadata_spo_item_path Edm.String Combinazione del percorso padre e del nome dell'elemento.

L'indicizzatore di SharePoint Online supporta anche metadati specifici di ogni tipo di documento. Altre informazioni sono disponibili in Proprietà dei metadati del contenuto usate in Ricerca di intelligenza artificiale di Azure.

Nota

Per indicizzare i metadati personalizzati, è necessario specificare "additionalColumns" nel parametro di query dell'origine dati.

Includere o escludere in base al tipo di file

È possibile controllare quali file vengono indicizzati impostando criteri di inclusione ed esclusione nella sezione "parametri" della definizione dell'indicizzatore.

Includere estensioni di file specifiche impostando "indexedFileNameExtensions" un elenco delimitato da virgole di estensioni di file (con un punto iniziale). Escludere estensioni di file specifiche impostando "excludedFileNameExtensions" le estensioni che devono essere ignorate. Se la stessa estensione si trova in entrambi gli elenchi, viene esclusa dall'indicizzazione.

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

Controllo dei documenti indicizzati

Un singolo indicizzatore di SharePoint Online può indicizzare il contenuto da una o più raccolte documenti. Usare il parametro "container" nella definizione dell'origine dati per indicare i siti e le raccolte documenti da cui indicizzare.

La sezione "contenitore" dell'origine dati ha due proprietà per questa attività: "name" e "query".

Nome

La proprietà "name" è obbligatoria e deve essere uno dei tre valori seguenti:

Valore Descrizione
defaultSiteLibrary Indicizzare tutto il contenuto dalla raccolta documenti predefinita del sito.
allSiteLibraries Indicizzare tutto il contenuto di tutte le raccolte documenti in un sito. Le raccolte documenti da un sito secondario non rientrano nell'ambito/ Se sono necessari contenuti da siti secondari, scegliere "useQuery" e specificare "includeLibrariesInSite".
useQuery Indicizzare solo il contenuto definito nella "query".

Query

Il parametro "query" dell'origine dati è costituito da coppie di parole chiave/valore. Di seguito sono riportate le parole chiave che è possibile usare. I valori sono URL del sito o URL della raccolta documenti.

Nota

Per ottenere il valore per una parola chiave specifica, è consigliabile passare alla raccolta documenti che si sta tentando di includere/escludere e copiare l'URI dal browser. Questo è il modo più semplice per ottenere il valore da usare con una parola chiave nella query.

Parola chiave Descrizione dei valori ed esempi
Null Se null o vuoto, indicizzare la raccolta documenti predefinita o tutte le raccolte documenti a seconda del nome del contenitore.

Esempio:

"container" : { "name" : "defaultSiteLibrary", "query" : null }
includeLibrariesInSite Indicizzare il contenuto di tutte le librerie nel sito specificato nel stringa di connessione. L'ambito include tutti i siti secondari del sito. Il valore deve essere l'URI del sito o del sito secondario.

Esempio:

"container" : { "name" : "useQuery", "query" : "includeLibrariesInSite=https://mycompany.sharepoint.com/mysite" }
includeLibrary Indicizzare tutto il contenuto di questa raccolta. Il valore è il percorso completo della libreria, che può essere copiato dal browser:

Esempio 1 (percorso completo):

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

Esempio 2 (URI copiato dal browser):

"container" : { "name" : "useQuery", "query" : "includeLibrary=https://mycompany.sharepoint.com/teams/mysite/MyDocumentLibrary/Forms/AllItems.aspx" }
excludeLibrary Non indicizzare il contenuto da questa raccolta. Il valore è il percorso completo della libreria, che può essere copiato dal browser:

Esempio 1 (percorso completo):

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

Esempio 2 (URI copiato dal browser):

"container" : { "name" : "useQuery", "query" : "includeLibrariesInSite=https://mycompany.sharepoint.com/teams/mysite; excludeLibrary=https://mycompany.sharepoint.com/teams/mysite/MyDocumentLibrary/Forms/AllItems.aspx" }
additionalColumns Indicizzare le colonne della raccolta documenti. Il valore è un elenco delimitato da virgole di nomi di colonna da indicizzare. Usare una doppia barra rovesciata per eseguire l'escape di punti e virgola e virgole nei nomi di colonna:

Esempio 1 (additionalColumns=MyCustomColumn,MyCustomColumn2):

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

Esempio 2 (caratteri di escape con doppia barra rovesciata):

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

Gestione degli errori

Per impostazione predefinita, l'indicizzatore di SharePoint Online si arresta non appena rileva un documento con un tipo di contenuto non supportato, ad esempio un'immagine. È possibile usare il excludedFileNameExtensions parametro per ignorare determinati tipi di contenuto. Tuttavia, potrebbe essere necessario indicizzare i documenti senza conoscere in anticipo tutti i tipi di contenuto possibili. Per continuare l'indicizzazione quando viene rilevato un tipo di contenuto non supportato, impostare il failOnUnsupportedContentType parametro di configurazione su 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 } }
}

Per alcuni documenti, Ricerca di intelligenza artificiale di Azure non è in grado di determinare il tipo di contenuto o di elaborare un documento di tipo di contenuto altrimenti supportato. Per ignorare la modalità di errore, impostare il parametro di configurazione failOnUnprocessableDocument su False:

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

Ricerca di intelligenza artificiale di Azure limita le dimensioni dei documenti indicizzati. Questi limiti sono documentati in Limiti dei servizi in Ricerca di intelligenza artificiale di Azure. I documenti sovradimensionati vengono considerati come errori per impostazione predefinita. Tuttavia, è comunque possibile indicizzare i metadati di archiviazione dei documenti sovradimensionati se si imposta indexStorageMetadataOnlyForOversizedDocuments il parametro di configurazione su true:

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

È anche possibile continuare l'indicizzazione se si verificano errori in qualsiasi momento di elaborazione, durante l'analisi dei documenti o durante l'aggiunta di documenti a un indice. Per ignorare un determinato numero di errori, impostare i parametri di configurazione maxFailedItems e maxFailedItemsPerBatch sui valori desiderati. Ad esempio:

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

Se è abilitata la crittografia di un file nel sito di SharePoint, potrebbe essere rilevato un messaggio di errore simile al seguente:

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

Il messaggio di errore includerà anche l'ID del sito di SharePoint, l'ID unità e l'ID dell'elemento di unità nel modello seguente: <sharepoint site id> :: <drive id> :: <drive item id>. Queste informazioni possono essere utilizzate per identificare l'elemento che ha esito negativo nell'endpoint di SharePoint. L'utente può quindi rimuovere la crittografia dall'elemento per risolvere il problema.

Vedi anche