Risoluzione dei problemi comuni relativi a errori e avvisi dell'indicizzatore in Ricerca di intelligenza artificiale di Azure

Questo articolo fornisce informazioni e soluzioni a errori e avvisi comuni che possono verificarsi durante l'indicizzazione e l'arricchimento tramite intelligenza artificiale in Ricerca di intelligenza artificiale di Azure.

L'indicizzazione si arresta quando il conteggio degli errori supera 'maxFailedItems'.

Se si vuole che gli indicizzatori ignorino questi errori (e si eseccesso su "documenti non riusciti"), è consigliabile aggiornare maxFailedItems e maxFailedItemsPerBatch come descritto qui.

Nota

Ogni documento non riuscito insieme alla chiave del documento (se disponibile) verrà visualizzato come errore nello stato di esecuzione dell'indicizzatore. È possibile usare l'API di indice per caricare manualmente i documenti in un secondo momento se è stato impostato l'indicizzatore per tollerare gli errori.

Le informazioni sull'errore contenute in questo articolo consentono di risolvere gli errori, consentendo l'indicizzazione per continuare.

Gli avvisi non arrestano l'indicizzazione, ma indicano condizioni che potrebbero causare risultati imprevisti. Se si esegue o meno un'azione dipende dai dati e dallo scenario.

Dove è possibile trovare errori specifici dell'indicizzatore?

Per verificare lo stato di un indicizzatore e identificare gli errori nella portale di Azure, seguire questa procedura:

  1. Passare al portale di Azure e individuare il servizio di ricerca di intelligenza artificiale.
  2. Dopo aver eseguito il servizio di ricerca di intelligenza artificiale, fare clic sulla scheda "Indicizzatori".
  3. Dall'elenco degli indicizzatori identificare l'indicizzatore specifico da verificare.
  4. Nella colonna "Cronologia di esecuzione" fare clic sul collegamento ipertestuale "Stato" associato all'indicizzatore selezionato.
  5. Se si verifica un errore, passare il puntatore del mouse sul messaggio di errore. Verrà visualizzato un riquadro sul lato destro della schermata che visualizza informazioni dettagliate sull'errore.

Errori temporanei

Per vari motivi, ad esempio interruzioni di comunicazione di rete temporanee, timeout da processi a esecuzione prolungata o sfumature specifiche del documento, è comune riscontrare errori o avvisi temporanei durante l'esecuzione dell'indicizzatore. Tuttavia, questi errori sono temporanei e devono essere risolti nelle esecuzioni successive dell'indicizzatore.

Per gestire questi errori in modo efficace, è consigliabile inserire l'indicizzatore in base a una pianificazione, ad esempio, per l'esecuzione ogni cinque minuti. Ciò significa che l'esecuzione successiva inizierà cinque minuti dopo il completamento della prima esecuzione, rispettando il limite massimo di runtime. Le esecuzioni pianificate regolarmente consentono di correggere rapidamente eventuali errori o avvisi temporanei.

Se si nota un errore che persiste in più esecuzioni dell'indicizzatore, è probabile che non si tratti di un problema temporaneo. In questi casi, fare riferimento all'elenco seguente per le potenziali soluzioni. Si noti che assicurarsi sempre che la pianificazione dell'indicizzazione sia allineata alle limitazioni descritte nella guida ai limiti dell'indicizzatore.

Proprietà dell'errore

A partire dalla versione 2019-05-06dell'API, gli errori e gli avvisi dell'indicizzatore a livello di elemento sono strutturati per offrire maggiore chiarezza sulle cause e sui passaggi successivi. Contengono le proprietà seguenti:

Proprietà Descrizione Esempio
Chiave ID documento del documento interessato dall'errore o dall'avviso. https://<storageaccount>.blob.core.windows.net/jfk-1k/docid-32112954.pdf
Nome Nome dell'operazione che descrive dove si è verificato l'errore o l'avviso. Generato dalla struttura seguente: [category].[subcategory].[resourceType].[resourceName] DocumentExtraction.azureblob.myBlobContainerName Enrichment.WebApiSkill.mySkillName Projection.SearchIndex.OutputFieldMapping.myOutputFieldName Projection.SearchIndex.MergeOrUpload.myIndexName Projection.KnowledgeStore.Table.myTableName
Message Descrizione generale dell'errore o dell'avviso. Could not execute skill because the Web Api request failed.
Dettagli Informazioni specifiche che potrebbero essere utili per diagnosticare il problema, ad esempio la risposta WebApi se l'esecuzione di una competenza personalizzata non è riuscita. link-cryptonyms-list - Error processing the request record : System.ArgumentNullException: Value cannot be null. Parameter name: source at System.Linq.Enumerable.All[TSource](IEnumerable 1 source, Func 2 predicate) at Microsoft.CognitiveSearch.WebApiSkills.JfkWebApiSkills. ...rest of stack trace...
DocumentationLink Collegamento alla documentazione pertinente con informazioni dettagliate per eseguire il debug e risolvere il problema. Questo collegamento spesso punta a una delle sezioni seguenti in questa pagina. https://go.microsoft.com/fwlink/?linkid=2106475

Error: Could not read document

L'indicizzatore non è riuscito a leggere il documento dall'origine dati. Ciò può verificarsi a causa di:

Motivo Dettagli/Esempio Risoluzione
Tipi di campo incoerenti in documenti diversi Type of value has a mismatch with column type. Couldn't store '{47.6,-122.1}' in authors column. Expected type is JArray. Error converting data type nvarchar to float. Conversion failed when converting the nvarchar value '12 months' to data type int. Arithmetic overflow error converting expression to data type int. Assicurarsi che il tipo di ogni campo sia lo stesso in documenti diversi. Ad esempio, se il primo campo documento è un valore 'startTime' DateTime e nel secondo documento si tratta di una stringa, viene visualizzato questo errore.
Errori del servizio sottostante dell'origine dati Da Azure Cosmos DB: {"Errors":["Request rate is large"]} Controllare l'istanza di archiviazione per assicurarsi che sia integra. Potrebbe essere necessario modificare il ridimensionamento o il partizionamento.
Problemi temporanei A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host In alcuni casi si verificano problemi di connettività imprevisti. Provare a eseguire di nuovo il documento tramite l'indicizzatore in un secondo momento.

Error: Could not extract content or metadata from your document

L'indicizzatore con un'origine dati BLOB non è riuscito a estrarre il contenuto o i metadati dal documento ,ad esempio un file PDF. Ciò può verificarsi a causa di:

Motivo Dettagli/Esempio Risoluzione
Il BLOB supera il limite di dimensioni Document is '150441598' bytes, which exceeds the maximum size '134217728' bytes for document extraction for your current service tier. Errori di indicizzazione BLOB
Il BLOB ha un tipo di contenuto non supportato Document has unsupported content type 'image/png' Errori di indicizzazione BLOB
Il BLOB è crittografato Document could not be processed - it may be encrypted or password protected. È possibile ignorare il BLOB con le impostazioni del BLOB.
Problemi temporanei Error processing blob: The request was aborted: The request was canceled. Document timed out during processing. In alcuni casi si verificano problemi di connettività imprevisti. Provare a eseguire di nuovo il documento tramite l'indicizzatore in un secondo momento.

Error: Could not parse document

L'indicizzatore legge il documento dall'origine dati, ma si è verificato un problema durante la conversione del contenuto del documento nello schema di mapping dei campi specificato. Ciò può verificarsi a causa di:

Motivo Dettagli/Esempio Risoluzione
Chiave del documento mancante Document key cannot be missing or empty Verificare che tutti i documenti abbiano chiavi di documento valide. La chiave del documento viene determinata impostando la proprietà 'key' come parte della definizione dell'indice. Gli indicizzatori generano questo errore quando la proprietà contrassegnata come 'chiave' non è stata trovata in un documento specifico.
La chiave del documento non è valida Invalid document key. Keys can only contain letters, digits, underscore (_), dash (-), or equal sign (=). Verificare che tutti i documenti abbiano chiavi di documento valide. Per altri dettagli, vedere Indicizzazione dei Archiviazione BLOB. Se si usa l'indicizzatore BLOB e la chiave del documento è il metadata_storage_path campo , assicurarsi che la definizione dell'indicizzatore abbia una funzione di mapping base64Encode con parameters uguale a null, anziché il percorso in testo normale.
La chiave del documento non è valida Document key cannot be longer than 1024 characters Modificare la chiave del documento per soddisfare i requisiti di convalida.
Impossibile applicare il mapping dei campi a un campo Could not apply mapping function 'functionName' to field 'fieldName'. Array cannot be null. Parameter name: bytes Controllare i mapping dei campi definiti nell'indicizzatore e confrontarli con i dati del campo specificato del documento non riuscito. Potrebbe essere necessario modificare i mapping dei campi o i dati del documento.
Impossibile leggere il valore del campo Could not read the value of column 'fieldName' at index 'fieldIndex'. A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) Questi errori sono in genere dovuti a problemi di connettività imprevisti con il servizio sottostante dell'origine dati. Provare a eseguire di nuovo il documento tramite l'indicizzatore in un secondo momento.

Error: Could not map output field 'xyz' to search index due to deserialization problem while applying mapping function 'abc'

È possibile che il mapping di output non sia riuscito perché i dati di output sono in formato errato per la funzione di mapping in uso. Ad esempio, l'applicazione della Base64Encode funzione di mapping ai dati binari genererebbe questo errore. Per risolvere il problema, eseguire nuovamente l'indicizzatore senza specificare la funzione di mapping o assicurarsi che la funzione di mapping sia compatibile con il tipo di dati del campo di output. Per informazioni dettagliate, vedere Mapping dei campi di output.

Error: Could not execute skill

L'indicizzatore non è riuscito a eseguire una competenza nel set di competenze.

Motivo Dettagli/Esempio Risoluzione
Problemi di connettività temporanei Si è verificato un errore temporaneo. Riprovare. In alcuni casi si verificano problemi di connettività imprevisti. Provare a eseguire di nuovo il documento tramite l'indicizzatore in un secondo momento.
Potenziale bug del prodotto Errore imprevisto. Indica una classe sconosciuta di errore e può indicare un bug del prodotto. Inviare un ticket di supporto per ottenere assistenza.
Si è verificato un errore durante l'esecuzione di una competenza (Dalla competenza di merge) Uno o più valori di offset non sono validi e non è stato possibile analizzarli. Gli elementi sono stati inseriti alla fine del testo Usare le informazioni nel messaggio di errore per risolvere il problema. Questo tipo di errore richiede un'azione da risolvere.

Error: Could not execute skill because the Web API request failed

L'esecuzione della competenza non è riuscita perché la chiamata all'API Web non è riuscita. In genere, questa classe di errore si verifica quando vengono usate competenze personalizzate, nel qual caso è necessario eseguire il debug del codice personalizzato per risolvere il problema. Se invece l'errore proviene da una competenza predefinita, fare riferimento al messaggio di errore per informazioni sulla risoluzione del problema.

Durante il debug di questo problema, assicurarsi di prestare attenzione a eventuali avvisi di input della competenza per questa competenza. L'endpoint dell'API Web potrebbe non riuscire perché l'indicizzatore passa l'input imprevisto.

Error: Could not execute skill because Web API skill response is invalid

L'esecuzione della competenza non è riuscita perché la chiamata all'API Web ha restituito una risposta non valida. In genere, questa classe di errore si verifica quando vengono usate competenze personalizzate, nel qual caso è necessario eseguire il debug del codice personalizzato per risolvere il problema. Se invece l'errore proviene da una competenza predefinita, inviare un ticket di supporto per ottenere assistenza.

Error: Type of value has a mismatch with column type. Couldn't store in 'xyz' column. Expected type is 'abc'

Se l'origine dati ha un campo con un tipo di dati diverso rispetto al campo di cui si sta tentando di eseguire il mapping nell'indice, è possibile che si verifichi questo errore. Controllare i tipi di dati del campo dell'origine dati e assicurarsi che siano mappati correttamente ai tipi di dati dell'indice.

Error: Skill did not execute within the time limit

Esistono due casi in cui è possibile che venga visualizzato questo messaggio di errore, ognuno dei quali deve essere trattato in modo diverso. Seguire le istruzioni riportate di seguito a seconda di quale competenza ha restituito questo errore.

Competenze predefinite per i servizi di intelligenza artificiale di Azure

Molte delle competenze cognitive predefinite, ad esempio il rilevamento della lingua, il riconoscimento delle entità o OCR, sono supportate da un endpoint DELL'API dei servizi di intelligenza artificiale di Azure. In alcuni casi si verificano problemi temporanei con questi endpoint e si verifica un timeout di una richiesta. Per i problemi temporanei, non c'è alcun rimedio ad eccezione di attendere e riprovare. Come mitigazione, è consigliabile impostare l'indicizzatore per l'esecuzione in base a una pianificazione. L'indicizzazione pianificata riprende da dove è stata interrotta. Supponendo che i problemi temporanei vengano risolti, l'indicizzazione e l'elaborazione delle competenze cognitive devono essere in grado di continuare all'esecuzione pianificata successiva.

Se si continua a visualizzare questo errore nello stesso documento per una competenza cognitiva predefinita, inviare un ticket di supporto per ottenere assistenza, perché non è previsto.

Competenze personalizzate

Se si verifica un errore di timeout con una competenza personalizzata, è possibile provare un paio di cose. Prima di tutto, esaminare la competenza personalizzata e assicurarsi che non si blocchi in un ciclo infinito e che restituisca un risultato in modo coerente. Dopo aver verificato che viene restituito un risultato, controllare la durata dell'esecuzione. Se non è stato impostato in modo esplicito un timeout valore nella definizione della competenza personalizzata, il valore predefinito timeout è 30 secondi. Se 30 secondi non sono sufficienti per l'esecuzione della competenza, è possibile specificare un valore superiore timeout nella definizione della competenza personalizzata. Ecco un esempio di definizione di competenza personalizzata in cui il timeout è impostato su 90 secondi:

  {
        "@odata.type": "#Microsoft.Skills.Custom.WebApiSkill",
        "uri": "<your custom skill uri>",
        "batchSize": 1,
        "timeout": "PT90S",
        "context": "/document",
        "inputs": [
          {
            "name": "input",
            "source": "/document/content"
          }
        ],
        "outputs": [
          {
            "name": "output",
            "targetName": "output"
          }
        ]
      }

Il valore massimo che è possibile impostare per il timeout parametro è 230 secondi. Se la competenza personalizzata non è in grado di essere eseguita in modo coerente entro 230 secondi, è consigliabile ridurre la batchSize competenza personalizzata in modo da avere meno documenti da elaborare all'interno di una singola esecuzione. Se è già stato impostato batchSize su 1, è necessario riscrivere la competenza per poter essere eseguita in meno di 230 secondi oppure suddividerla in più competenze personalizzate in modo che il tempo di esecuzione per ogni singola competenza personalizzata sia un massimo di 230 secondi. Per altre informazioni, vedere la documentazione della competenza personalizzata.

Error: Could not 'MergeOrUpload' | 'Delete' document to the search index

Il documento è stato letto ed elaborato, ma l'indicizzatore non è riuscito ad aggiungerlo all'indice di ricerca. Ciò può verificarsi a causa di:

Motivo Dettagli/Esempio Risoluzione
Un campo contiene un termine troppo grande Un termine nel documento è superiore al limite di 32 KB È possibile evitare questa restrizione assicurandosi che il campo non sia configurato come filtrabile, facetable o ordinabile.
Documento troppo grande da indicizzare Un documento è maggiore delle dimensioni massime della richiesta API Come indicizzare set di dati di grandi dimensioni
Il documento contiene troppi oggetti nell'insieme Una raccolta nel documento supera il limite massimo di tutti gli insiemi complessi. The document with key '1000052' has '4303' objects in collections (JSON arrays). At most '3000' objects are allowed to be in collections across the entire document. Remove objects from collections and try indexing the document again. È consigliabile ridurre le dimensioni della raccolta complessa nel documento al di sotto del limite ed evitare un utilizzo elevato dello spazio di archiviazione.
Problemi di connessione all'indice di destinazione (che persiste dopo i tentativi) perché il servizio è sottoposto ad altri carichi, ad esempio l'esecuzione di query o l'indicizzazione. Impossibile stabilire la connessione per aggiornare l'indice. servizio di ricerca è sottoposto a carico elevato. Aumentare le prestazioni del servizio di ricerca
servizio di ricerca è in corso l'applicazione di patch per l'aggiornamento del servizio o si trova al centro di una riconfigurazione della topologia. Impossibile stabilire la connessione per aggiornare l'indice. servizio di ricerca è attualmente inattivo/servizio di ricerca è in fase di transizione. Configurare il servizio con almeno tre repliche per la disponibilità del 99,9% per ogni documentazione del contratto di servizio
Errore nella risorsa di calcolo/rete sottostante (raro) Impossibile stabilire la connessione per aggiornare l'indice. Si è verificato un errore sconosciuto. Configurare gli indicizzatori per l'esecuzione in base a una pianificazione per la ripresa da uno stato non riuscito.
Una richiesta di indicizzazione effettuata all'indice di destinazione non è stata riconosciuta entro un periodo di timeout a causa di problemi di rete. Impossibile stabilire una connessione all'indice di ricerca in modo tempestivo. Configurare gli indicizzatori per l'esecuzione in base a una pianificazione per la ripresa da uno stato non riuscito. Provare anche a ridurre le dimensioni del batch dell'indicizzatore se questa condizione di errore persiste.

Error: Could not index document because some of the document's data was not valid

Il documento è stato letto ed elaborato dall'indicizzatore, ma a causa di una mancata corrispondenza nella configurazione dei campi di indice e dei dati estratti ed elaborati dall'indicizzatore, non è stato possibile aggiungerlo all'indice di ricerca. Ciò può verificarsi a causa di:

Motivo Dettagli/Esempio
Il tipo di dati di uno o più campi estratti dall'indicizzatore non è compatibile con il modello di dati del campo dell'indice di destinazione corrispondente. The data field '_data_' in the document with key '888' has an invalid value 'of type 'Edm.String''. The expected type was 'Collection(Edm.String)'.
Impossibile estrarre un'entità JSON da un valore stringa. Could not parse value 'of type 'Edm.String'' of field '_data_' as a JSON object. Error:'After parsing a value an unexpected character was encountered: ''. Path '_path_', line 1, position 3162.'
Impossibile estrarre una raccolta di entità JSON da un valore stringa. Could not parse value 'of type 'Edm.String'' of field '_data_' as a JSON array. Error:'After parsing a value an unexpected character was encountered: ''. Path '[0]', line 1, position 27.'
È stato individuato un tipo sconosciuto nel documento di origine. Unknown type '_unknown_' cannot be indexed
Nel documento di origine è stata usata una notazione non compatibile per i punti geografici. WKT POINT string literals are not supported. Use GeoJson point literals instead

In tutti questi casi, vedere Tipi di dati supportati e Mapping dei tipi di dati per gli indicizzatori per assicurarsi di compilare correttamente lo schema dell'indice e aver configurato i mapping dei campi dell'indicizzatore appropriati. Il messaggio di errore include dettagli che consentono di rilevare l'origine della mancata corrispondenza.

Error: Integrated change tracking policy cannot be used because table has a composite primary key

Questo vale per le tabelle SQL e in genere si verifica quando la chiave è definita come chiave composita o, quando la tabella ha definito un indice cluster univoco (come in un indice SQL, non un indice di Ricerca di Azure). Il motivo principale è che l'attributo chiave viene modificato in modo da essere una chiave primaria composita in un indice cluster univoco. In tal caso, assicurarsi che la tabella SQL non abbia un indice cluster univoco o che il campo chiave venga mappato a un campo che non abbia valori duplicati.

Error: Could not process document within indexer max run time

Questo errore si verifica quando l'indicizzatore non è in grado di completare l'elaborazione di un singolo documento dall'origine dati entro il tempo di esecuzione consentito. Il tempo di esecuzione massimo è più breve quando vengono usati set di competenze. Quando si verifica questo errore, se maxFailedItems è impostato su un valore diverso da 0, l'indicizzatore ignora il documento per le esecuzioni future in modo che l'indicizzazione possa progredire. Se non è possibile permettersi di ignorare qualsiasi documento o se viene visualizzato questo errore in modo coerente, è consigliabile suddividere i documenti in documenti più piccoli in modo che l'avanzamento parziale possa essere eseguito all'interno di una singola esecuzione dell'indicizzatore.

Error: Could not project document

Questo errore si verifica quando l'indicizzatore tenta di proiettare i dati in un archivio conoscenze e si è verificato un errore durante il tentativo. Questo errore potrebbe essere coerente e risolvibile oppure potrebbe trattarsi di un errore temporaneo con il sink di output di proiezione che potrebbe essere necessario attendere e riprovare per risolvere. Ecco un set di stati di errore noti e possibili soluzioni.

Motivo Dettagli/Esempio Risoluzione
Impossibile aggiornare il BLOB 'blobUri' di proiezione nel contenitore 'containerName' Il contenitore specificato non esiste. L'indicizzatore controlla se il contenitore specificato è stato creato in precedenza e lo creerà, se necessario, ma esegue questo controllo solo una volta per ogni esecuzione dell'indicizzatore. Questo errore indica che un elemento eliminato il contenitore dopo questo passaggio. Per risolvere l'errore, provare: lasciare le informazioni sull'account di archiviazione da sole, attendere il completamento dell'indicizzatore e quindi eseguire nuovamente l'indicizzatore.
Impossibile aggiornare il BLOB 'blobUri' di proiezione nel contenitore 'containerName' Impossibile scrivere dati nella connessione di trasporto: una connessione esistente è stata chiusa forzatamente dall'host remoto. Si prevede che si tratta di un errore temporaneo con Archiviazione di Azure e pertanto deve essere risolto eseguendo di nuovo l'indicizzatore. Se si verifica questo errore in modo coerente, inviare un ticket di supporto in modo che possa essere esaminato ulteriormente.
Impossibile aggiornare la riga 'projectionRow' nella tabella 'tableName' Il server è occupato. Si prevede che si tratta di un errore temporaneo con Archiviazione di Azure e pertanto deve essere risolto eseguendo di nuovo l'indicizzatore. Se si verifica questo errore in modo coerente, inviare un ticket di supporto in modo che possa essere esaminato ulteriormente.

Error: The cognitive service for skill '<skill-name>' has been throttled

L'esecuzione delle competenze non è riuscita perché la chiamata ai servizi di intelligenza artificiale di Azure è stata limitata. In genere, questa classe di errore si verifica quando troppe competenze vengono eseguite in parallelo. Se si usa la libreria client Microsoft.Search.Documents per eseguire l'indicizzatore, è possibile usare SearchIndexingBufferedSender per ottenere un nuovo tentativo automatico nei passaggi non riusciti. In caso contrario, è possibile reimpostare ed eseguire di nuovo l'indicizzatore.

Error: Expected IndexAction metadata

Un errore 'Expected IndexAction metadata' indica quando l'indicizzatore ha tentato di leggere il documento per identificare l'azione da eseguire, non ha trovato metadati corrispondenti nel documento. In genere, questo errore si verifica quando l'indicizzatore ha una cache di annotazioni aggiunta o rimossa senza reimpostare l'indicizzatore. Per risolvere questo problema, è necessario reimpostare ed eseguire di nuovo l'indicizzatore.

Warning: Skill input was invalid

Un input per la competenza non è presente, ha il tipo errato o in caso contrario non è valido. Potrebbero essere visualizzate le informazioni seguenti:

  • Could not execute skill

  • Skill executed but may have unexpected results

Le competenze cognitive hanno input necessari e input facoltativi. Ad esempio, la competenza Estrazione frasi chiave ha due input textnecessari, languageCode, e nessun input facoltativo. Gli input di competenza personalizzati sono tutti considerati input facoltativi.

Se mancano gli input necessari o se l'input non è il tipo corretto, la competenza viene ignorata e genera un avviso. Le competenze ignorate non generano output. Se le competenze downstream utilizzano gli output della competenza ignorata, possono generare altri avvisi.

Se manca un input facoltativo, la competenza viene comunque eseguita, ma potrebbe produrre output imprevisto a causa dell'input mancante.

In entrambi i casi, questo avviso è dovuto alla forma dei dati. Se, ad esempio, si dispone di un documento contenente informazioni sugli utenti con i campi firstName, middleNamee lastName, potrebbero essere presenti alcuni documenti che non dispongono di una voce per middleName. Se si passa middleName come input a una competenza nella pipeline, è previsto che l'input della competenza non sia presente in parte. È necessario valutare i dati e lo scenario per determinare se è necessaria o meno alcuna azione in seguito a questo avviso.

Se si vuole specificare un valore predefinito per un input mancante, è possibile usare la competenza Condizionale per generare un valore predefinito e quindi usare l'output della competenza condizionale come input della competenza.

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document",
    "inputs": [
        { "name": "condition", "source": "= $(/document/language) == null" },
        { "name": "whenTrue", "source": "= 'en'" },
        { "name": "whenFalse", "source": "= $(/document/language)" }
    ],
    "outputs": [ { "name": "output", "targetName": "languageWithDefault" } ]
}
Motivo Dettagli/Esempio Risoluzione
L'input della competenza è il tipo errato "L'input della competenza richiesto non era del tipo Stringprevisto. Nome: text, Origine: /document/merged_content". "L'input della competenza richiesto non era del formato previsto. Nome: text, Origine: /document/merged_content". "Impossibile eseguire l'iterazione su non matrice /document/normalized_images/0/imageCelebrities/0/detail/celebrities". "Impossibile selezionare 0 in una matrice /document/normalized_images/0/imageCelebrities/0/detail/celebrities" Alcune competenze prevedono input di tipi specifici, ad esempio la competenza Sentiment prevede text una stringa. Se l'input specifica un valore non di stringa, la competenza non viene eseguita e non genera output. Verificare che il set di dati abbia valori di input uniformi nel tipo o usare una competenza dell'API Web personalizzata per pre-elaborare l'input. Se si esegue l'iterazione della competenza su una matrice, controllare il contesto della competenza e l'input nelle * posizioni corrette. In genere, sia il contesto che l'origine di input devono terminare con * per le matrici.
L'input della competenza non è presente Required skill input is missing. Name: text, Source: /document/merged_content Missing value /document/normalized_images/0/imageTags. Unable to select 0 in array /document/pages of length 0. Se questo avviso si verifica per tutti i documenti, potrebbe essere presente un errore di digitazione nei percorsi di input. Controllare la combinazione di maiuscole e minuscole del nome della proprietà. Verificare la presenza di un elemento aggiuntivo o mancante * nel percorso. Verificare che i documenti dell'origine dati forniscano gli input necessari.
L'input del codice della lingua della competenza non è valido L'input languageCode della competenza ha i codici X,Y,Zdi lingua seguenti, almeno uno dei quali non è valido. Vedere altri dettagli di seguito.

Warning: Skill input 'languageCode' has the following language codes 'X,Y,Z', at least one of which is invalid.

Uno o più valori passati nell'input facoltativo languageCode di una competenza downstream non sono supportati. Ciò può verificarsi se si passa l'output di LanguageDetectionSkill alle competenze successive e l'output è costituito da più lingue di quelle supportate in tali competenze downstream.

Si noti che è anche possibile ottenere un avviso simile a questo se un input non valido countryHint viene passato a LanguageDetectionSkill. In tal caso, verificare che il campo usato dall'origine dati per tale input contenga codici paese ISO 3166-1 alfa-2 validi. Se alcuni sono validi e alcuni non sono validi, continuare con le indicazioni seguenti, ma sostituire languageCode con countryHint e defaultLanguageCode con defaultCountryHint per corrispondere al caso d'uso.

Se si sa che il set di dati è tutto in una sola lingua, è necessario rimuovere LanguageDetectionSkill e l'input languageCode della competenza e usare il defaultLanguageCode parametro di competenza per tale competenza, presupponendo che la lingua sia supportata per tale competenza.

Se si sa che il set di dati contiene più lingue e quindi è necessario languageDetectionSkill e languageCode input, è consigliabile aggiungere un oggetto ConditionalSkill per filtrare il testo con lingue non supportate prima di passare il testo alla competenza downstream. Di seguito è riportato un esempio di ciò che potrebbe essere simile al seguente per EntityRecognitionSkill:

{
    "@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
    "context": "/document",
    "inputs": [
        { "name": "condition", "source": "= $(/document/language) == 'de' || $(/document/language) == 'en' || $(/document/language) == 'es' || $(/document/language) == 'fr' || $(/document/language) == 'it'" },
        { "name": "whenTrue", "source": "/document/content" },
        { "name": "whenFalse", "source": "= null" }
    ],
    "outputs": [ { "name": "output", "targetName": "supportedByEntityRecognitionSkill" } ]
}

Ecco alcuni riferimenti per le lingue attualmente supportate per ognuna delle competenze che possono generare questo messaggio di errore:

Warning: Skill input was truncated

Le competenze cognitive limitano la lunghezza del testo che è possibile analizzare contemporaneamente. Se l'input di testo supera il limite, il testo viene troncato prima che venga arricchito. La competenza viene eseguita, ma non su tutti i dati.

Nell'esempio LanguageDetectionSkill seguente, il 'text' campo di input potrebbe attivare questo avviso se l'input supera il limite di caratteri. I limiti di input sono disponibili nella documentazione di riferimento sulle competenze.

 {
    "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill",
    "inputs": [
      {
        "name": "text",
        "source": "/document/text"
      }
    ],
    "outputs": [...]
  }

Se si vuole assicurarsi che tutto il testo venga analizzato, è consigliabile usare la competenza Dividi.

Warning: Web API skill response contains warnings

L'indicizzatore ha eseguito la competenza nel set di competenze, ma la risposta dalla richiesta API Web indica che sono presenti avvisi. Esaminare gli avvisi per comprendere l'impatto dei dati e se è necessaria un'ulteriore azione.

Warning: The current indexer configuration does not support incremental progress

Questo avviso si verifica solo per le origini dati di Azure Cosmos DB.

L'avanzamento incrementale durante l'indicizzazione assicura che, in caso di interruzione dell'esecuzione dell'indicizzatore a causa di errori temporanei o del limite del tempo di esecuzione, l'indicizzatore possa riprendere dal punto in cui è stato interrotto all'esecuzione successiva, invece di dovere ripetere dall'inizio l'indicizzazione dell'intera raccolta. Questo approccio risulta particolarmente importante in caso di indicizzazione di raccolte di grandi dimensioni.

La possibilità di riprendere un processo di indicizzazione non completata viene predicata in base alla presenza di documenti ordinati in base alla _ts colonna. L'indicizzatore usa il timestamp per determinare il documento da selezionare successivamente. Se la _ts colonna è mancante o se l'indicizzatore non riesce a determinare se una query personalizzata è ordinata da essa, l'indicizzatore inizia all'inizio e verrà visualizzato questo avviso.

È possibile eseguire l'override di questo comportamento, abilitando lo stato di avanzamento incrementale e eliminando questo avviso usando la assumeOrderByHighWaterMarkColumn proprietà di configurazione.

Per altre informazioni, vedere Avanzamento incrementale e query personalizzate.

Warning: Some data was lost during projection. Row 'X' in table 'Y' has string property 'Z' which was too long.

Il servizio Table Archiviazione ha limiti sulla quantità di proprietà delle entità di grandi dimensioni. Le stringhe possono avere almeno 32.000 caratteri. Se viene proiettata una riga con una proprietà stringa superiore a 32.000 caratteri, vengono mantenuti solo i primi 32.000 caratteri. Per risolvere questo problema, evitare di proiettare righe con proprietà stringa più lunghe di 32.000 caratteri.

Warning: Truncated extracted text to X characters

Gli indicizzatori limitano la quantità di testo che può essere estratto da un documento. Questo limite dipende dal piano tariffario: 32.000 caratteri per il livello gratuito, 64.000 per Basic, 4 milioni per Standard, 8 milioni per Standard S2 e 16 milioni per Standard S3. Il testo troncato non verrà indicizzato. Per evitare questo avviso, provare a suddividere i documenti con grandi quantità di testo in più documenti più piccoli.

Per altre informazioni, vedere Limiti dell'indicizzatore.

Warning: Could not map output field 'X' to search index

I mapping dei campi di output che fanno riferimento a dati non esistenti/null generano avvisi per ogni documento e generano un campo indice vuoto. Per risolvere questo problema, controllare attentamente i percorsi di origine del mapping dei campi di output per individuare possibili errori di digitazione o impostare un valore predefinito usando la competenza Condizionale. Per informazioni dettagliate, vedere Mapping dei campi di output.

Motivo Dettagli/Esempio Risoluzione
Impossibile eseguire l'iterazione su una matrice non "Impossibile eseguire l'iterazione su non matrice /document/normalized_images/0/imageCelebrities/0/detail/celebrities". Questo errore si verifica quando l'output non è una matrice. Se si ritiene che l'output sia una matrice, controllare il percorso del campo di origine dell'output indicato per individuare gli errori. Ad esempio, potrebbe essere presente un valore mancante o aggiuntivo * nel nome del campo di origine. È anche possibile che l'input di questa competenza sia Null, generando una matrice vuota. Trovare dettagli simili nella sezione Input competenza non valida .
Impossibile selezionare 0 in una matrice "Non è possibile selezionare 0 in una matrice /document/pages". Questo problema può verificarsi se l'output delle competenze non produce una matrice e il nome del campo di origine di output ha un indice di matrice o * nel relativo percorso. Controllare i percorsi specificati nei nomi dei campi di origine di output e il valore del campo per il nome del campo indicato. Trovare dettagli simili nella sezione Input competenza non valida .

Warning: The data change detection policy is configured to use key column 'X'

I criteri di rilevamento delle modifiche dei dati hanno requisiti specifici per le colonne usate per rilevare le modifiche. Uno di questi requisiti è che questa colonna viene aggiornata ogni volta che l'elemento di origine viene modificato. Un altro requisito è che il nuovo valore per questa colonna è maggiore del valore precedente. Le colonne chiave non soddisfano questo requisito perché non cambiano a ogni aggiornamento. Per risolvere questo problema, selezionare una colonna diversa per i criteri di rilevamento delle modifiche.

Warning: Document text appears to be UTF-16 encoded, but is missing a byte order mark

Le modalità di analisi dell'indicizzatore devono sapere come viene codificato il testo prima di analizzarlo. I due modi più comuni per codificare il testo sono UTF-16 e UTF-8. UTF-8 è una codifica a lunghezza variabile in cui ogni carattere è compreso tra 1 byte e 4 byte di lunghezza. UTF-16 è una codifica a lunghezza fissa in cui ogni carattere è lungo 2 byte. UTF-16 ha due varianti diverse, big endian e little endian. La codifica del testo è determinata da una byte order markserie di byte prima del testo.

Codifica Byte order mark
UTF-16 Big Endian 0xFE 0xFF
UTF-16 Little Endian 0xFF 0xFE
UTF-8 0xEF 0xBB 0xBF

Se non è presente alcun byte order mark, si presuppone che il testo venga codificato come UTF-8.

Per ovviare a questo avviso, determinare qual è la codifica del testo per questo BLOB e aggiungere il contrassegno di ordine dei byte appropriato.

Warning: Azure Cosmos DB collection 'X' has a Lazy indexing policy. Some data may be lost

Le raccolte con criteri di indicizzazione differita non possono essere sottoposte a query in modo coerente, causando la mancanza di dati dell'indicizzatore. Per ovviare a questo avviso, modificare i criteri di indicizzazione in Coerente.

Warning: The document contains very long words (longer than 64 characters). These words may result in truncated and/or unreliable model predictions.

Questo avviso viene passato dal servizio di linguaggio dei servizi di intelligenza artificiale di Azure. In alcuni casi, è possibile ignorare questo avviso, ad esempio se la stringa lunga è solo un URL lungo. Tenere presente che quando una parola è più lunga di 64 caratteri, viene troncata a 64 caratteri che possono influire sulle stime del modello.

Error: Cannot write more bytes to the buffer than the configured maximum buffer size

Gli indicizzatori hanno limiti per le dimensioni dei documenti. Assicurarsi che i documenti nell'origine dati siano inferiori al limite di dimensioni supportate, come documentato per il livello di servizio.