Veelvoorkomende indexeerfouten en -waarschuwingen in Azure AI Search oplossen
Dit artikel bevat informatie en oplossingen voor veelvoorkomende fouten en waarschuwingen die kunnen optreden tijdens indexering en AI-verrijking in Azure AI Search.
Indexering stopt wanneer het aantal fouten groter is dan 'maxFailedItems'.
Als u wilt dat indexeerfuncties deze fouten negeren (en 'mislukte documenten' overslaan), kunt u overwegen de maxFailedItems
en maxFailedItemsPerBatch
zoals hier wordt beschreven bij te werken.
Notitie
Elk mislukt document samen met de bijbehorende documentsleutel (indien beschikbaar) wordt weergegeven als een fout in de uitvoeringsstatus van de indexeerfunctie. U kunt de index-API gebruiken om de documenten op een later moment handmatig te uploaden als u de indexeerfunctie hebt ingesteld om fouten te tolereren.
De foutinformatie in dit artikel kan u helpen bij het oplossen van fouten, zodat indexering kan worden voortgezet.
Waarschuwingen stoppen niet met indexeren, maar geven wel aan dat er voorwaarden zijn die kunnen leiden tot onverwachte resultaten. Of u nu actie onderneemt of niet afhankelijk is van de gegevens en uw scenario.
Waar vindt u specifieke indexeerfouten?
Volg de onderstaande stappen om de status van een indexeerfunctie te controleren en fouten te identificeren in Azure Portal:
Meld u aan bij Azure Portal en zoek uw zoekservice.
Vouw links zoekbeheerindexeerfuncties> uit en selecteer een indexeerfunctie.
Selecteer onder Uitvoeringsgeschiedenis de status. Alle statussen, inclusief Geslaagd, bevatten details over de uitvoering.
Als er een fout optreedt, plaatst u de muisaanwijzer op het foutbericht. Aan de rechterkant van het scherm wordt een deelvenster weergegeven met gedetailleerde informatie over de fout.
Tijdelijke fouten
Om verschillende redenen, zoals tijdelijke onderbrekingen van netwerkcommunicatie, time-outs van langlopende processen of specifieke documentnuances, is het gebruikelijk om tijdelijke fouten of waarschuwingen te tegenkomen tijdens uitvoeringen van de indexeerfunctie. Deze fouten zijn echter tijdelijk en moeten worden opgelost in volgende uitvoeringen van de indexeerfunctie.
Als u deze fouten effectief wilt beheren, raden we u aan uw indexeerfunctie in een schema te plaatsen, bijvoorbeeld om elke vijf minuten uit te voeren, waarbij de volgende uitvoering vijf minuten begint na het voltooien van de eerste uitvoering, waarbij de maximale runtimelimiet voor uw service wordt bereikt. Regelmatig geplande uitvoeringen helpen tijdelijke fouten of waarschuwingen op te lossen.
Als een fout zich blijft voordoen bij meerdere indexeerfuncties, is dit waarschijnlijk geen tijdelijk probleem. Raadpleeg in dergelijke gevallen de onderstaande lijst voor mogelijke oplossingen.
Fouteigenschappen
Eigenschappen | Beschrijving | Voorbeeld |
---|---|---|
Sleutel | De id van het document dat wordt beïnvloed door de fout of waarschuwing. | Azure Storage-voorbeeld, waarbij de standaard-id het opslagpad voor metagegevens is: https://<storageaccount>.blob.core.windows.net/jfk-1k/docid-32112954.pdf |
Naam | De bewerking die de fout of waarschuwing veroorzaakt. Dit wordt gegenereerd door de volgende structuur: [category] .[subcategory] .[resourceType] .[resourceName] |
DocumentExtraction.azureblob.myBlobContainerName
Enrichment.WebApiSkill.mySkillName
Projection.SearchIndex.OutputFieldMapping.myOutputFieldName
Projection.SearchIndex.MergeOrUpload.myIndexName
Projection.KnowledgeStore.Table.myTableName
|
Bericht | Een beschrijving op hoog niveau van de fout of waarschuwing. | Could not execute skill because the Web Api request failed. |
DETAILS | Specifieke informatie die nuttig kan zijn bij het diagnosticeren van het probleem, zoals het WebApi-antwoord als het uitvoeren van een aangepaste vaardigheid is mislukt. | 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 | Een koppeling naar relevante documentatie met gedetailleerde informatie om het probleem op te sporen en op te lossen. Deze koppeling verwijst vaak naar een van de onderstaande secties op deze pagina. | https://go.microsoft.com/fwlink/?linkid=2106475 |
Error: Could not read document
Indexeerfunctie kan het document niet lezen uit de gegevensbron. Dit kan om de volgende redenen plaatsvinden:
Reden | Details/voorbeeld | Oplossing |
---|---|---|
Inconsistente veldtypen in verschillende documenten |
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.
|
Zorg ervoor dat het type van elk veld hetzelfde is voor verschillende documenten. Als het eerste documentveld 'startTime' bijvoorbeeld een datum/tijd is en in het tweede document een tekenreeks is, wordt deze fout bereikt. |
Fouten van de onderliggende service van de gegevensbron | Vanuit Azure Cosmos DB: {"Errors":["Request rate is large"]} |
Controleer uw opslagexemplaren om ervoor te zorgen dat het in orde is. Mogelijk moet u de schaal of partitionering aanpassen. |
Tijdelijke problemen | 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 |
Af en toe zijn er onverwachte verbindingsproblemen. Voer het document later opnieuw uit via de indexeerfunctie. |
Error: Could not extract content or metadata from your document
Indexeerfunctie met een Blob-gegevensbron kan de inhoud of metagegevens niet ophalen uit het document (bijvoorbeeld een PDF-bestand). Dit kan om de volgende redenen plaatsvinden:
Reden | Details/voorbeeld | Oplossing |
---|---|---|
Blob overschrijdt de limiet voor de grootte | Document is '150441598' bytes, which exceeds the maximum size '134217728' bytes for document extraction for your current service tier. |
Fouten bij het indexeren van blobs |
Blob heeft niet-ondersteund inhoudstype | Document has unsupported content type 'image/png' |
Fouten bij het indexeren van blobs |
Blob is versleuteld | Document could not be processed - it may be encrypted or password protected. |
U kunt de blob overslaan met blobinstellingen. |
Tijdelijke problemen |
Error processing blob: The request was aborted: The request was canceled.
Document timed out during processing.
|
Af en toe zijn er onverwachte verbindingsproblemen. Voer het document later opnieuw uit via de indexeerfunctie. |
Error: Could not parse document
Indexeerfunctie leest het document uit de gegevensbron, maar er is een probleem opgetreden bij het converteren van de documentinhoud naar het opgegeven schema voor veldtoewijzing. Dit kan om de volgende redenen plaatsvinden:
Reden | Details/voorbeeld | Oplossing |
---|---|---|
De documentsleutel ontbreekt | Document key cannot be missing or empty |
Zorg ervoor dat alle documenten geldige documentsleutels hebben. De documentsleutel wordt bepaald door de eigenschap Sleutel in te stellen als onderdeel van de indexdefinitie. Indexeerfuncties verzenden deze fout wanneer de eigenschap die als sleutel is gemarkeerd, niet kan worden gevonden in een bepaald document. |
De documentsleutel is ongeldig | Invalid document key. Keys can only contain letters, digits, underscore (_), dash (-), or equal sign (=). |
Zorg ervoor dat alle documenten geldige documentsleutels hebben. Raadpleeg Blob Storage voor meer informatie. Als u de blobindexeerfunctie gebruikt en de documentsleutel het metadata_storage_path veld is, moet u ervoor zorgen dat de definitie van de indexeerfunctie een base64Encode-toewijzingsfunctie heeft die parameters gelijk is aan null , in plaats van het pad in tekst zonder opmaak. |
De documentsleutel is ongeldig | Document key cannot be longer than 1024 characters |
Wijzig de documentsleutel om te voldoen aan de validatievereisten. |
Kan veldtoewijzing niet toepassen op een veld | Could not apply mapping function 'functionName' to field 'fieldName'. Array cannot be null. Parameter name: bytes |
Controleer de veldtoewijzingen die zijn gedefinieerd in de indexeerfunctie en vergelijk met de gegevens van het opgegeven veld van het mislukte document. Het kan nodig zijn om de veldtoewijzingen of documentgegevens te wijzigen. |
Kan veldwaarde niet lezen | 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.) |
Deze fouten worden meestal veroorzaakt door onverwachte verbindingsproblemen met de onderliggende service van de gegevensbron. Voer het document later opnieuw uit via de indexeerfunctie. |
Error: Could not map output field 'xyz' to search index due to deserialization problem while applying mapping function 'abc'
De uitvoertoewijzing is mogelijk mislukt omdat de uitvoergegevens de verkeerde indeling hebben voor de toewijzingsfunctie die u gebruikt. Als u bijvoorbeeld een toewijzingsfunctie toepast Base64Encode
op binaire gegevens, wordt deze fout gegenereerd. U kunt het probleem oplossen door de indexeerfunctie opnieuw uit te voeren zonder de toewijzingsfunctie op te geven of ervoor te zorgen dat de toewijzingsfunctie compatibel is met het gegevenstype van het uitvoerveld. Zie De toewijzing van uitvoervelden voor meer informatie.
Error: Could not execute skill
De indexeerfunctie kon geen vaardigheid uitvoeren in de vaardighedenset.
Reden | Details/voorbeeld | Oplossing |
---|---|---|
Tijdelijke verbindingsproblemen | Er is een tijdelijke fout opgetreden. Probeer het later opnieuw. | Af en toe zijn er onverwachte verbindingsproblemen. Voer het document later opnieuw uit via de indexeerfunctie. |
Mogelijke productfout | Er is een onverwachte fout opgetreden. | Dit geeft een onbekende foutklasse aan en kan duiden op een productfout. Dien een ondersteuningsticket in om hulp te krijgen. |
Er is een fout opgetreden tijdens de uitvoering van een vaardigheid | (Uit samenvoegvaardigheid) Een of meer offsetwaarden zijn ongeldig en kunnen niet worden geparseerd. Items zijn ingevoegd aan het einde van de tekst | Gebruik de informatie in het foutbericht om het probleem op te lossen. Voor dit soort fouten moet actie worden ondernomen. |
Error: Could not execute skill because the Web API request failed
De uitvoering van de vaardigheid is mislukt omdat de aanroep van de web-API is mislukt. Deze foutklasse treedt meestal op wanneer aangepaste vaardigheden worden gebruikt. In dat geval moet u fouten opsporen in uw aangepaste code om het probleem op te lossen. Als de fout afkomstig is van een ingebouwde vaardigheid, raadpleegt u het foutbericht voor hulp bij het oplossen van het probleem.
Let bij het opsporen van fouten in dit probleem op eventuele waarschuwingen voor vaardigheidsinvoer voor deze vaardigheid. Uw web-API-eindpunt kan mislukken omdat de indexeerfunctie deze onverwachte invoer doorgeeft.
Error: Could not execute skill because Web API skill response is invalid
De uitvoering van de vaardigheid is mislukt omdat de aanroep van de web-API een ongeldig antwoord heeft geretourneerd. Deze foutklasse treedt meestal op wanneer aangepaste vaardigheden worden gebruikt. In dat geval moet u fouten opsporen in uw aangepaste code om het probleem op te lossen. Als in plaats daarvan de fout afkomstig is van een ingebouwde vaardigheid, dient u een ondersteuningsticket in om hulp te krijgen.
Error: Type of value has a mismatch with column type. Couldn't store in 'xyz' column. Expected type is 'abc'
Als uw gegevensbron een veld met een ander gegevenstype heeft dan het veld dat u probeert toe te wijzen in uw index, kan deze fout optreden. Controleer de gegevenstypen van uw gegevensbronveld en zorg ervoor dat deze correct zijn toegewezen aan uw indexgegevenstypen.
Error: Skill did not execute within the time limit
Er zijn twee gevallen waarin u dit foutbericht kunt tegenkomen, die allemaal anders moeten worden behandeld. Volg de onderstaande instructies, afhankelijk van de vaardigheid die deze fout voor u heeft geretourneerd.
Ingebouwde vaardigheden voor Azure AI-services
Veel van de ingebouwde cognitieve vaardigheden, zoals taaldetectie, entiteitsherkenning of OCR, worden ondersteund door een API-eindpunt voor Azure AI-services. Soms zijn er tijdelijke problemen met deze eindpunten en treedt er een time-out op voor een aanvraag. Voor tijdelijke problemen is er geen oplossing, behalve om te wachten en het opnieuw te proberen. Als beperking kunt u overwegen om uw indexeerfunctie in te stellen op basis van een schema. Geplande indexering wordt opgehaald waar het was gebleven. Ervan uitgaande dat tijdelijke problemen worden opgelost, moeten indexering en verwerking van cognitieve vaardigheden kunnen doorgaan tijdens de volgende geplande uitvoering.
Als u deze fout blijft zien in hetzelfde document voor een ingebouwde cognitieve vaardigheid, dient u een ondersteuningsticket in om hulp te krijgen, omdat dit niet wordt verwacht.
Aangepaste vaardigheden
Als er een time-outfout optreedt met een aangepaste vaardigheid, zijn er een aantal dingen die u kunt proberen. Controleer eerst uw aangepaste vaardigheid en zorg ervoor dat deze niet vastloopt in een oneindige lus en dat het een resultaat consistent retourneert. Nadat u hebt bevestigd dat een resultaat wordt geretourneerd, controleert u de duur van de uitvoering. Als u niet expliciet een timeout
waarde hebt ingesteld voor uw aangepaste vaardigheidsdefinitie, is de standaardwaarde timeout
30 seconden. Als 30 seconden niet lang genoeg is om uw vaardigheid uit te voeren, kunt u een hogere timeout
waarde opgeven voor uw aangepaste vaardigheidsdefinitie. Hier volgt een voorbeeld van een aangepaste vaardigheidsdefinitie waarbij de time-out is ingesteld op 90 seconden:
{
"@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"
}
]
}
De maximumwaarde die u voor de timeout
parameter kunt instellen, is 230 seconden. Als uw aangepaste vaardigheid niet consistent binnen 230 seconden kan worden uitgevoerd, kunt u overwegen om de batchSize
aangepaste vaardigheid te verminderen, zodat deze minder documenten bevat die binnen één uitvoering moeten worden verwerkt. Als u de waarde al hebt ingesteld op batchSize
1, moet u de vaardigheid herschrijven om deze in minder dan 230 seconden uit te voeren of op een andere manier te splitsen in meerdere aangepaste vaardigheden, zodat de uitvoeringstijd voor elke aangepaste vaardigheid maximaal 230 seconden is. Raadpleeg de documentatie voor aangepaste vaardigheden voor meer informatie.
Error: Could not 'MergeOrUpload' | 'Delete' document to the search index
Het document is gelezen en verwerkt, maar de indexeerfunctie kan het niet toevoegen aan de zoekindex. Dit kan om de volgende redenen plaatsvinden:
Reden | Details/voorbeeld | Oplossing |
---|---|---|
Een veld bevat een term die te groot is | Een term in uw document is groter dan de limiet van 32 kB | U kunt deze beperking voorkomen door ervoor te zorgen dat het veld niet is geconfigureerd als filterbaar, facetable of sorteerbaar. |
Het document is te groot om te worden geïndexeerd | Een document is groter dan de maximale API-aanvraaggrootte | Grote gegevenssets indexeren |
Document bevat te veel objecten in verzameling | Een verzameling in uw document overschrijdt de maximumaantal elementen voor alle complexe verzamelingen. 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. |
We raden u aan om de grootte van de complexe verzameling in het document te verkleinen tot onder de limiet en een hoog opslaggebruik te voorkomen. |
Problemen bij het maken van verbinding met de doelindex (die zich na nieuwe pogingen blijft voordoen) omdat de service onder andere belasting valt, zoals het uitvoeren van query's of indexering. | Kan geen verbinding tot stand brengen om de index bij te werken. Search-service zwaar belast is. | Uw zoekservice omhoog schalen |
Search-service wordt gepatcht voor service-update of zich in het midden van een topologieherconfiguratie bevindt. | Kan geen verbinding tot stand brengen om de index bij te werken. Search-service is momenteel niet beschikbaar/Search-service een overgang ondergaat. | Service configureren met ten minste drie replica's voor een beschikbaarheid van 99,9% per SLA-documentatie |
Fout in de onderliggende reken-/netwerkresource (zeldzaam) | Kan geen verbinding tot stand brengen om de index bij te werken. Er is een onbekende fout opgetreden. | Configureer indexeerfuncties die volgens een schema worden uitgevoerd om de status Mislukt op te halen. |
Een indexeringsaanvraag voor de doelindex is niet bevestigd binnen een time-outperiode vanwege netwerkproblemen. | Kan de verbinding met de zoekindex niet tijdig tot stand brengen. | Configureer indexeerfuncties die volgens een schema worden uitgevoerd om de status Mislukt op te halen. Probeer bovendien de batchgrootte van de indexeerfunctie te verlagen als deze foutvoorwaarde zich blijft voordoen. |
Error: Could not index document because some of the document's data was not valid
Het document is gelezen en verwerkt door de indexeerfunctie, maar vanwege een niet-overeenkomende configuratie van de indexvelden en de gegevens die door de indexeerfunctie zijn geëxtraheerd en verwerkt, kan het niet worden toegevoegd aan de zoekindex. Dit kan om de volgende redenen plaatsvinden:
Reden | Details/voorbeeld |
---|---|
Het gegevenstype van een of meer velden die door de indexeerfunctie zijn geëxtraheerd, is niet compatibel met het gegevensmodel van het bijbehorende doelindexveld. | 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)'. |
Kan geen JSON-entiteit ophalen uit een tekenreekswaarde. |
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.'
|
Kan een verzameling JSON-entiteiten niet ophalen uit een tekenreekswaarde. |
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.'
|
Er is een onbekend type gedetecteerd in het brondocument. | Unknown type '_unknown_' cannot be indexed |
Er is een incompatibele notatie voor geografiepunten gebruikt in het brondocument. | WKT POINT string literals are not supported. Use GeoJson point literals instead |
In al deze gevallen raadpleegt u Ondersteunde gegevenstypen en toewijzing van gegevenstypen voor indexeerfuncties om ervoor te zorgen dat u het indexschema correct bouwt en de juiste indexeerfunctieveldtoewijzingen hebt ingesteld. Het foutbericht bevat details waarmee de bron van de niet-overeenkomende gegevens kan worden bijgehouden.
Error: Integrated change tracking policy cannot be used because table has a composite primary key
Dit is van toepassing op SQL-tabellen en gebeurt meestal wanneer de sleutel is gedefinieerd als een samengestelde sleutel of wanneer de tabel een unieke geclusterde index heeft gedefinieerd (zoals in een SQL-index, niet als een Azure Search-index). De belangrijkste reden is dat het sleutelkenmerk wordt gewijzigd in een samengestelde primaire sleutel in een unieke geclusterde index. Zorg er in dat geval voor dat uw SQL-tabel geen unieke geclusterde index heeft of dat u het sleutelveld toe wijst aan een veld dat gegarandeerd geen dubbele waarden heeft.
Error: Could not process document within indexer max run time
Deze fout treedt op wanneer de indexeerfunctie het verwerken van één document niet kan voltooien vanuit de gegevensbron binnen de toegestane uitvoeringstijd. De maximale uitvoeringstijd is korter wanneer vaardighedensets worden gebruikt. Wanneer deze fout optreedt, als u maxFailedItems hebt ingesteld op een andere waarde dan 0, wordt het document door de indexeerfunctie overgeslagen bij toekomstige uitvoeringen, zodat indexering kan worden voortgezet. Als u het zich niet kunt veroorloven om een document over te slaan of als u deze fout consistent ziet, kunt u overwegen documenten in kleinere documenten op te delen, zodat gedeeltelijke voortgang binnen één indexeerfunctie kan worden uitgevoerd.
Error: Could not project document
Deze fout treedt op wanneer de indexeerfunctie probeert gegevens te projecteren in een kennisarchief en er een fout is opgetreden bij de poging. Deze fout kan consistent en herstelbaar zijn, of het kan een tijdelijke fout zijn met de sink van de projectieuitvoer die u mogelijk moet wachten en opnieuw moet proberen om het probleem op te lossen. Hier volgt een set bekende foutstatussen en mogelijke oplossingen.
Reden | Details/voorbeeld | Oplossing |
---|---|---|
Kan projectieblob 'blobUri' niet bijwerken in container 'containerName' |
De opgegeven container bestaat niet. | De indexeerfunctie controleert of de opgegeven container eerder is gemaakt en maakt deze indien nodig, maar voert deze controle slechts één keer per indexeerfunctie uit. Deze fout betekent dat de container na deze stap is verwijderd. U kunt deze fout oplossen door de gegevens van uw opslagaccount alleen te laten, te wachten totdat de indexeerfunctie is voltooid en de indexeerfunctie opnieuw uit te voert. |
Kan projectieblob 'blobUri' niet bijwerken in container 'containerName' |
Kan geen gegevens naar de transportverbinding schrijven: een bestaande verbinding is geforceerd gesloten door de externe host. | Dit is naar verwachting een tijdelijke fout met Azure Storage en moet dus worden opgelost door de indexeerfunctie opnieuw uit te voert. Als u deze fout consistent tegenkomt, dient u een ondersteuningsticket in, zodat deze verder kan worden onderzocht. |
Rij in tabel kan niet worden bijgewerkt 'projectionRow' 'tableName' |
De server is bezet. | Dit is naar verwachting een tijdelijke fout met Azure Storage en moet dus worden opgelost door de indexeerfunctie opnieuw uit te voert. Als u deze fout consistent tegenkomt, dient u een ondersteuningsticket in, zodat deze verder kan worden onderzocht. |
Error: The cognitive service for skill '<skill-name>' has been throttled
De uitvoering van vaardigheden is mislukt omdat de aanroep van Azure AI-services is beperkt. Deze foutklasse treedt meestal op wanneer er te veel vaardigheden parallel worden uitgevoerd. Als u de clientbibliotheek Microsoft.Search.Documents gebruikt om de indexeerfunctie uit te voeren, kunt u de SearchIndexingBufferedSender gebruiken om automatisch opnieuw te proberen bij mislukte stappen. Anders kunt u de indexeerfunctie opnieuw instellen en opnieuw uitvoeren.
Error: Expected IndexAction metadata
Een fout 'Verwachte IndexAction-metagegevens' betekent dat wanneer de indexeerfunctie heeft geprobeerd het document te lezen om te bepalen welke actie moet worden ondernomen, er geen bijbehorende metagegevens in het document zijn gevonden. Deze fout treedt meestal op wanneer de indexeerfunctie een aantekeningscache heeft toegevoegd of verwijderd zonder de indexeerfunctie opnieuw in te instellen. Om dit te verhelpen, moet u de indexeerfunctie opnieuw instellen en opnieuw uitvoeren.
Warning: Skill input was invalid
Er ontbreekt een invoer voor de vaardigheid, het heeft het verkeerde type of anderszins ongeldig. Mogelijk ziet u de volgende informatie:
Could not execute skill
Skill executed but may have unexpected results
Cognitieve vaardigheden hebben vereiste invoer en optionele invoer. De vaardigheid sleuteltermextractie heeft bijvoorbeeld twee vereiste invoerwaarden text
en languageCode
geen optionele invoer. Aangepaste vaardigheidsinvoer wordt allemaal beschouwd als optionele invoer.
Indien nodig ontbreken invoergegevens of als de invoer niet het juiste type is, wordt de vaardigheid overgeslagen en wordt er een waarschuwing gegenereerd. Overgeslagen vaardigheden genereren geen uitvoer. Als downstreamvaardigheden de uitvoer van de overgeslagen vaardigheid verbruiken, kunnen ze andere waarschuwingen genereren.
Als een optionele invoer ontbreekt, wordt de vaardigheid nog steeds uitgevoerd, maar kan dit onverwachte uitvoer opleveren vanwege de ontbrekende invoer.
In beide gevallen wordt deze waarschuwing veroorzaakt door de vorm van uw gegevens. Als u bijvoorbeeld een document hebt met informatie over personen met de velden firstName
, middleName
en lastName
, hebt u mogelijk enkele documenten waarvoor geen vermelding middleName
is. Als u als invoer doorgeeft middleName
aan een vaardigheid in de pijplijn, wordt verwacht dat deze vaardigheidsinvoer een deel van de tijd ontbreekt. U moet uw gegevens en scenario evalueren om te bepalen of er al dan niet actie is vereist als gevolg van deze waarschuwing.
Als u een standaardwaarde wilt opgeven voor een ontbrekende invoer, kunt u de voorwaardelijke vaardigheid gebruiken om een standaardwaarde te genereren en vervolgens de uitvoer van de voorwaardelijke vaardigheid te gebruiken als vaardigheidsinvoer.
{
"@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" } ]
}
Reden | Details/voorbeeld | Oplossing |
---|---|---|
Invoer van vaardigheden is het verkeerde type | "Vereiste vaardigheidsinvoer was niet van het verwachte type String . Naam: text , Bron: /document/merged_content ." "Vereiste vaardigheidsinvoer was niet van de verwachte indeling. Naam: text , Bron: /document/merged_content ." "Kan niet herhalen over een niet-matrix /document/normalized_images/0/imageCelebrities/0/detail/celebrities ." "Kan niet selecteren 0 in niet-matrix /document/normalized_images/0/imageCelebrities/0/detail/celebrities " |
Bepaalde vaardigheden verwachten invoer van bepaalde typen, bijvoorbeeld sentimentvaardighedentext die een tekenreeks zijn. Als de invoer een niet-tekenreekswaarde opgeeft, wordt de vaardigheid niet uitgevoerd en worden er geen uitvoer gegenereerd. Zorg ervoor dat uw gegevensset een uniform type invoerwaarden heeft of gebruik een aangepaste web-API-vaardigheid om de invoer vooraf te verwerken. Als u de vaardigheid over een matrix itereert, controleert u de vaardigheidscontext en invoer * op de juiste posities. Meestal moeten zowel de context als de invoerbron eindigen op * matrices. |
Vaardigheidsinvoer ontbreekt |
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.
|
Als deze waarschuwing voor alle documenten optreedt, kan er een typefout optreden in de invoerpaden. Controleer de naam van de eigenschap. Controleer op een extra of ontbreekt * in het pad. Controleer of de documenten uit de gegevensbron de vereiste invoer bevatten. |
Invoer van vaardigheidstaalcode is ongeldig | Invoer van vaardigheden languageCode heeft de volgende taalcodes X,Y,Z , waarvan ten minste één ongeldig is. |
Zie hieronder meer informatie. |
Warning: Skill input 'languageCode' has the following language codes 'X,Y,Z', at least one of which is invalid.
Een of meer waarden die worden doorgegeven aan de optionele languageCode
invoer van een downstream-vaardigheid, worden niet ondersteund. Dit kan gebeuren als u de uitvoer van languageDetectionSkill doorgeeft aan volgende vaardigheden en de uitvoer uit meer talen bestaat dan wordt ondersteund in deze downstreamvaardigheden.
Houd er rekening mee dat u ook een waarschuwing kunt krijgen die vergelijkbaar is met deze als er een ongeldige countryHint
invoer wordt doorgegeven aan languageDetectionSkill. Als dat het geval is, controleert u of het veld dat u gebruikt uit uw gegevensbron voor die invoer geldige ISO 3166-1 alfa-2 landcodes bevat. Als sommige geldig zijn en sommige ongeldig zijn, gaat u verder met de volgende richtlijnen, maar vervangt languageCode
countryHint
u deze door en defaultLanguageCode
defaultCountryHint
door uw use-case.
Als u weet dat uw gegevensset allemaal in één taal staat, moet u de LanguageDetectionSkill en de invoer van de languageCode
vaardigheid verwijderen en in plaats daarvan de defaultLanguageCode
vaardigheidsparameter voor die vaardigheid gebruiken, ervan uitgaande dat de taal wordt ondersteund voor die vaardigheid.
Als u weet dat uw gegevensset meerdere talen bevat en u de LanguageDetectionSkill en languageCode
invoer nodig hebt, kunt u een ConditionalSkill toevoegen om de tekst te filteren met talen die niet worden ondersteund voordat u de tekst doorgeeft aan de downstream-vaardigheid. Hier volgt een voorbeeld van hoe dit eruit kan zien voor de 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" } ]
}
Hier volgen enkele verwijzingen voor de momenteel ondersteunde talen voor elk van de vaardigheden die dit foutbericht kunnen produceren:
- Ondersteunde talen voor EntityRecognitionSkill
- Ondersteunde talen voor EntityLinkingSkill
- Ondersteunde talen keyPhraseExtractionSkill
- Ondersteunde talen languageDetectionSkill
- Ondersteunde talen voor PIIDetectionSkill
- Ondersteunde talen voor SentimentSkill
- Ondersteunde talen van Translator
-
Ondersteunde talen voor Text SplitSkill :
da, de, en, es, fi, fr, it, ko, pt
Warning: Skill input was truncated
Cognitieve vaardigheden beperken de lengte van tekst die tegelijkertijd kan worden geanalyseerd. Als de tekstinvoer de limiet overschrijdt, wordt de tekst afgekapt voordat deze wordt verrijkt. De vaardigheid wordt uitgevoerd, maar niet over al uw gegevens.
In het onderstaande voorbeeld LanguageDetectionSkill
kan dit 'text'
waarschuwingsveld worden geactiveerd als de invoer de tekenlimiet overschrijdt. Invoerlimieten vindt u in de referentiedocumentatie voor vaardigheden.
{
"@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill",
"inputs": [
{
"name": "text",
"source": "/document/text"
}
],
"outputs": [...]
}
Als u ervoor wilt zorgen dat alle tekst wordt geanalyseerd, kunt u overwegen de vaardigheid Splitsen te gebruiken.
Warning: Web API skill response contains warnings
De indexeerfunctie heeft de vaardigheid uitgevoerd in de vaardighedenset, maar het antwoord van de web-API-aanvraag geeft aan dat er waarschuwingen zijn. Bekijk de waarschuwingen om te begrijpen hoe uw gegevens worden beïnvloed en of verdere actie is vereist.
Warning: The current indexer configuration does not support incremental progress
Deze waarschuwing treedt alleen op voor Azure Cosmos DB-gegevensbronnen.
Incrementele voortgang tijdens het indexeren zorgt ervoor dat als de uitvoering van de indexeerfunctie wordt onderbroken door tijdelijke fouten of uitvoeringstijdslimiet, de indexeerfunctie de volgende keer dat deze wordt uitgevoerd, kan worden opgehaald, in plaats van dat de volledige verzameling helemaal opnieuw moet worden geïndexeerd. Dit is vooral belangrijk bij het indexeren van grote verzamelingen.
De mogelijkheid om een niet-voltooide indexeringstaak te hervatten, is gebaseerd op het sorteren van documenten in de _ts
kolom. De indexeerfunctie gebruikt de tijdstempel om te bepalen welk document het volgende moet worden opgehaald. Als de _ts
kolom ontbreekt of als de indexeerfunctie niet kan bepalen of er een aangepaste query is geordend, begint de indexeerfunctie bij het begin en ziet u deze waarschuwing.
Het is mogelijk dit gedrag te overschrijven, incrementele voortgang in te schakelen en deze waarschuwing te onderdrukken met behulp van de assumeOrderByHighWaterMarkColumn
configuratie-eigenschap.
Zie Incrementele voortgang en aangepaste query's voor meer informatie.
Warning: Some data was lost during projection. Row 'X' in table 'Y' has string property 'Z' which was too long.
De Table Storage-service heeft limieten voor hoe grote entiteitseigenschappen kunnen zijn. Tekenreeksen kunnen 32.000 tekens of minder bevatten. Als een rij met een tekenreekseigenschap langer dan 32.000 tekens wordt geprojecteerd, blijven alleen de eerste 32.000 tekens behouden. U kunt dit probleem omzeilen door rijen met tekenreekseigenschappen van meer dan 32.000 tekens te projecteren.
Warning: Truncated extracted text to X characters
Indexeerfuncties beperken hoeveel tekst uit elk document kan worden geëxtraheerd. Deze limiet is afhankelijk van de prijscategorie: 32.000 tekens voor gratis laag, 64.000 voor Basic, 4 miljoen voor Standard, 8 miljoen voor Standard S2 en 16 miljoen voor Standard S3. Tekst die is afgekapt, wordt niet geïndexeerd. Probeer documenten met grote hoeveelheden tekst op te splitsen in meerdere, kleinere documenten om deze waarschuwing te voorkomen.
Zie Indexeerlimieten voor meer informatie.
Warning: Could not map output field 'X' to search index
Uitvoerveldtoewijzingen die verwijzen naar niet-bestaande/null-gegevens, produceren waarschuwingen voor elk document en resulteren in een leeg indexveld. Als u dit probleem wilt omzeilen, controleert u de bronpaden voor de uitvoerveldtoewijzing op mogelijke typefouten of stelt u een standaardwaarde in met behulp van de vaardigheid Voorwaardelijk. Zie De toewijzing van uitvoervelden voor meer informatie.
Reden | Details/voorbeeld | Oplossing |
---|---|---|
Kan niet herhalen over niet-matrix | "Kan niet herhalen over een niet-matrix /document/normalized_images/0/imageCelebrities/0/detail/celebrities ." |
Deze fout treedt op wanneer de uitvoer geen matrix is. Als u denkt dat de uitvoer een matrix moet zijn, controleert u het aangegeven pad naar het uitvoerbronveld op fouten. U hebt bijvoorbeeld mogelijk een ontbrekende of extra * in de naam van het bronveld. Het is ook mogelijk dat de invoer voor deze vaardigheid null is, wat resulteert in een lege matrix. Vergelijkbare details vinden in de sectie Vaardigheidsinvoer was ongeldig . |
Kan niet selecteren 0 in niet-matrix |
"Kan niet selecteren 0 in niet-matrix /document/pages ." |
Dit kan gebeuren als de vaardighedenuitvoer geen matrix produceert en de naam van het uitvoerbronveld matrixindex of * het pad bevat. Controleer de paden in de namen van de uitvoerbronvelden en de veldwaarde voor de aangegeven veldnaam. Vergelijkbare details vinden in de sectie Vaardigheidsinvoer was ongeldig . |
Warning: The data change detection policy is configured to use key column 'X'
Beleidsregels voor gegevenswijzigingsdetectie hebben specifieke vereisten voor de kolommen die ze gebruiken om wijzigingen te detecteren. Een van deze vereisten is dat deze kolom telkens wordt bijgewerkt wanneer het bronitem wordt gewijzigd. Een andere vereiste is dat de nieuwe waarde voor deze kolom groter is dan de vorige waarde. Sleutelkolommen voldoen niet aan deze vereiste omdat ze niet worden gewijzigd bij elke update. Als u dit probleem wilt omzeilen, selecteert u een andere kolom voor het wijzigingsdetectiebeleid.
Warning: Document text appears to be UTF-16 encoded, but is missing a byte order mark
De parseringsmodi van de indexeerfunctie moeten weten hoe tekst wordt gecodeerd voordat deze wordt geparseerd. De twee meest voorkomende manieren om tekst te coderen zijn UTF-16 en UTF-8. UTF-8 is een codering met variabele lengte waarbij elk teken tussen 1 byte en 4 bytes lang is. UTF-16 is een codering met vaste lengte waarbij elk teken 2 bytes lang is. UTF-16 heeft twee verschillende varianten, big endian
en little endian
. Tekstcodering wordt bepaald door een byte order mark
reeks bytes vóór de tekst.
Codering | Byte Order Mark |
---|---|
UTF-16 Big Endian | 0xFE 0xFF |
UTF-16 Little Endian | 0xFF 0xFE |
UTF-8 | 0xEF 0xBB 0xBF |
Als er geen bytevolgordemarkering aanwezig is, wordt ervan uitgegaan dat de tekst wordt gecodeerd als UTF-8.
Als u deze waarschuwing wilt omzeilen, bepaalt u wat de tekstcodering voor deze blob is en voegt u het juiste bytevolgordeteken toe.
Warning: Azure Cosmos DB collection 'X' has a Lazy indexing policy. Some data may be lost
Verzamelingen met luie indexeringsbeleid kunnen niet consistent worden opgevraagd, wat resulteert in ontbrekende gegevens in uw indexeerfunctie. Als u deze waarschuwing wilt omzeilen, wijzigt u het indexeringsbeleid in Consistent.
Warning: The document contains very long words (longer than 64 characters). These words may result in truncated and/or unreliable model predictions.
Deze waarschuwing wordt doorgegeven vanuit de taalservice van Azure AI-services. In sommige gevallen is het veilig om deze waarschuwing te negeren, bijvoorbeeld als de lange tekenreeks slechts een lange URL is. Houd er rekening mee dat wanneer een woord langer is dan 64 tekens, het is afgekapt tot 64 tekens die van invloed kunnen zijn op modelvoorspellingen.
Error: Cannot write more bytes to the buffer than the configured maximum buffer size
Indexeerfuncties hebben limieten voor documentgrootte. Zorg ervoor dat de documenten in uw gegevensbron kleiner zijn dan de ondersteunde groottelimiet, zoals beschreven voor uw servicelaag.