Řešení běžných chyb a upozornění indexeru ve službě Azure AI Search
Tento článek obsahuje informace a řešení běžných chyb a upozornění, se kterými se můžete setkat při indexování a rozšiřování AI ve službě Azure AI Search.
Indexování se zastaví, když počet chyb překročí maxFailedItems.
Pokud chcete, aby indexery tyto chyby ignorovaly (a přeskočí "neúspěšné dokumenty"), zvažte aktualizaci maxFailedItems
a maxFailedItemsPerBatch
jak je popsáno tady.
Poznámka:
Každý dokument, který selhal, spolu s jeho klíčem dokumentu (pokud je k dispozici), se zobrazí jako chyba ve stavu spuštění indexeru. Rozhraní API indexu můžete využít k ručnímu nahrání dokumentů později, pokud jste indexer nastavili tak, aby toleroval chyby.
Informace o chybě v tomto článku vám můžou pomoct vyřešit chyby, což umožňuje pokračovat v indexování.
Upozornění nezastavují indexování, ale označují podmínky, které by mohly vést k neočekávaným výsledkům. Nezáleží na tom, jestli podniknete nějakou akci nebo ne, závisí na datech a vašem scénáři.
Kde najdete konkrétní chyby indexeru?
Pokud chcete ověřit stav indexeru a identifikovat chyby na webu Azure Portal, postupujte následovně:
Přihlaste se k webu Azure Portal a vyhledejte vyhledávací službu.
Vlevo rozbalte indexery správy>vyhledávání a vyberte indexer.
V části Historie spuštění vyberte stav. Všechny stavy, včetně úspěchu, mají podrobnosti o provedení.
Pokud dojde k chybě, najeďte myší na chybovou zprávu. Na pravé straně obrazovky se zobrazí podokno s podrobnými informacemi o chybě.
Přechodné chyby
Z různých důvodů, jako jsou přechodné přerušení síťové komunikace, vypršení časového limitu z dlouhotrvajících procesů nebo specifické nuance dokumentů, je běžné, že během spuštění indexeru dochází k přechodným chybám nebo upozorněním. Tyto chyby jsou však dočasné a měly by být vyřešeny v následných spuštěních indexeru.
Pokud chcete tyto chyby efektivně spravovat, doporučujeme dát indexeru na plán, například spustit každých pět minut, kde další spuštění začíná pět minut po dokončení prvního spuštění a dodržování maximálního limitu modulu runtime ve vaší službě. Pravidelná naplánovaná spuštění pomáhají opravovat přechodné chyby nebo upozornění.
Pokud chyba přetrvává v několika spuštěních indexeru, pravděpodobně se nejedná o přechodný problém. V takových případech si projděte následující seznam potenciálních řešení.
Vlastnosti chyby
Vlastnost | Popis | Příklad |
---|---|---|
Klíč | ID dokumentu ovlivněného chybou nebo upozorněním | Příklad služby Azure Storage, kde výchozí ID je cesta k úložišti metadat: https://<storageaccount>.blob.core.windows.net/jfk-1k/docid-32112954.pdf |
Název | Operace způsobuje chybu nebo upozornění. Tato funkce je generována následující strukturou: [category] .[subcategory] .[resourceType] .[resourceName] |
DocumentExtraction.azureblob.myBlobContainerName Enrichment.WebApiSkill.mySkillName Projection.SearchIndex.OutputFieldMapping.myOutputFieldName Projection.SearchIndex.MergeOrUpload.myIndexName Projection.KnowledgeStore.Table.myTableName |
Zpráva | Podrobný popis chyby nebo upozornění | Could not execute skill because the Web Api request failed. |
Detaily | Konkrétní informace, které můžou být užitečné při diagnostice problému, jako je odpověď WebApi, pokud provádění vlastní dovednosti selhalo. | 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 | Odkaz na příslušnou dokumentaci s podrobnými informacemi pro ladění a řešení problému. Tento odkaz často odkazuje na jeden z následujících oddílů na této stránce. | https://go.microsoft.com/fwlink/?linkid=2106475 |
Error: Could not read document
Indexer nemohl přečíst dokument ze zdroje dat. Možné příčiny:
Důvod | Podrobnosti nebo příklad | Rozlišení |
---|---|---|
Nekonzistentní typy polí v různých dokumentech | 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. |
Ujistěte se, že typ každého pole je stejný v různých dokumentech. Pokud je například první pole dokumentu 'startTime' DateTime a v druhém dokumentu se jedná o řetězec, dojde k této chybě. |
Chyby z podkladové služby zdroje dat | Ze služby Azure Cosmos DB: {"Errors":["Request rate is large"]} |
Zkontrolujte instanci úložiště a ujistěte se, že je v pořádku. Možná budete muset upravit škálování nebo dělení. |
Přechodné problémy | 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 |
Občas dochází k neočekávaným problémům s připojením. Zkuste dokument znovu spustit v indexeru později. |
Error: Could not extract content or metadata from your document
Indexer se zdrojem dat objektu blob nemohl extrahovat obsah nebo metadata z dokumentu (například soubor PDF). Možné příčiny:
Důvod | Podrobnosti nebo příklad | Rozlišení |
---|---|---|
Objekt blob je nad limitem velikosti. | Document is '150441598' bytes, which exceeds the maximum size '134217728' bytes for document extraction for your current service tier. |
Chyby indexování objektů blob |
Objekt blob má nepodporovaný typ obsahu | Document has unsupported content type 'image/png' |
Chyby indexování objektů blob |
Objekt blob je šifrovaný. | Document could not be processed - it may be encrypted or password protected. |
Objekt blob můžete přeskočit s nastavením objektu blob. |
Přechodné problémy | Error processing blob: The request was aborted: The request was canceled. Document timed out during processing. |
Občas dochází k neočekávaným problémům s připojením. Zkuste dokument znovu spustit v indexeru později. |
Error: Could not parse document
Indexer přečte dokument ze zdroje dat, ale při převodu obsahu dokumentu na zadané schéma mapování polí došlo k problému. Možné příčiny:
Důvod | Podrobnosti nebo příklad | Rozlišení |
---|---|---|
Chybí klíč dokumentu. | Document key cannot be missing or empty |
Ujistěte se, že všechny dokumenty mají platné klíče dokumentu. Klíč dokumentu je určen nastavením vlastnosti "klíč" jako součást definice indexu. Indexery vygenerují tuto chybu, pokud vlastnost označená příznakem "klíč" nebyla v konkrétním dokumentu nalezena. |
Klíč dokumentu je neplatný. | Invalid document key. Keys can only contain letters, digits, underscore (_), dash (-), or equal sign (=). |
Ujistěte se, že všechny dokumenty mají platné klíče dokumentu. Další podrobnosti najdete v indexování služby Blob Storage . Pokud používáte indexer objektů blob a klíč dokumentu je metadata_storage_path pole, ujistěte se, že definice indexeru má funkci mapování base64Encode se parameters rovná null cestě ve formátu prostého textu. |
Klíč dokumentu je neplatný. | Document key cannot be longer than 1024 characters |
Upravte klíč dokumentu tak, aby splňoval požadavky na ověření. |
Nelze použít mapování polí na pole | Could not apply mapping function 'functionName' to field 'fieldName'. Array cannot be null. Parameter name: bytes |
Pečlivě zkontrolujte mapování polí definovaných v indexeru a porovnejte s daty zadaného pole dokumentu, které selhalo. Může být nutné upravit mapování polí nebo data dokumentu. |
Nelze přečíst hodnotu pole. | 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.) |
K těmto chybám obvykle dochází kvůli neočekávaným problémům s připojením k podkladové službě zdroje dat. Zkuste dokument znovu spustit v indexeru později. |
Error: Could not map output field 'xyz' to search index due to deserialization problem while applying mapping function 'abc'
Mapování výstupu mohlo selhát, protože výstupní data jsou ve špatném formátu pro funkci mapování, kterou používáte. Například použití Base64Encode
funkce mapování na binární data by vygenerovalo tuto chybu. Pokud chcete tento problém vyřešit, spusťte indexer znovu bez zadání funkce mapování nebo se ujistěte, že je funkce mapování kompatibilní s datovým typem výstupního pole. Podrobnosti najdete v tématu Mapování výstupních polí.
Error: Could not execute skill
Indexer nemohl spustit dovednost v sadě dovedností.
Důvod | Podrobnosti nebo příklad | Rozlišení |
---|---|---|
Přechodné problémy s připojením | Došlo k přechodné chybě. Zkuste to později. | Občas dochází k neočekávaným problémům s připojením. Zkuste dokument znovu spustit v indexeru později. |
Potenciální chyba produktu | Došlo k neočekávané chybě. | To označuje neznámou třídu selhání a může značit chybu produktu. Vytvořte lístek podpory a získejte pomoc. |
Během provádění došlo k chybě dovednosti | (Z dovednosti sloučení) Nejméně jedna hodnota posunu byla neplatná a nelze ji analyzovat. Položky byly vloženy na konec textu. | K vyřešení problému použijte informace v chybové zprávě. Tento druh selhání vyžaduje akci k vyřešení. |
Error: Could not execute skill because the Web API request failed
Provádění dovedností selhalo, protože volání webového rozhraní API selhalo. K této třídě selhání obvykle dochází, když se použijí vlastní dovednosti, v takovém případě potřebujete k vyřešení problému ladit vlastní kód. Pokud je chyba z předdefinované dovednosti, projděte si chybovou zprávu, kde najdete pomoc s opravou problému.
Při ladění tohoto problému nezapomeňte věnovat pozornost všem upozorněním na zadávání dovedností pro tuto dovednost. Koncový bod webového rozhraní API může selhává, protože indexer předává neočekávaný vstup.
Error: Could not execute skill because Web API skill response is invalid
Provádění dovedností selhalo, protože volání webového rozhraní API vrátilo neplatnou odpověď. K této třídě selhání obvykle dochází, když se použijí vlastní dovednosti, v takovém případě potřebujete k vyřešení problému ladit vlastní kód. Pokud místo toho selhání pochází z předdefinované dovednosti, vytvořte lístek podpory, abyste získali pomoc.
Error: Type of value has a mismatch with column type. Couldn't store in 'xyz' column. Expected type is 'abc'
Pokud má zdroj dat pole s jiným datovým typem než pole, které se pokoušíte mapovat v indexu, může dojít k této chybě. Zkontrolujte datové typy polí zdroje dat a ujistěte se, že jsou správně namapované na datové typy indexu.
Error: Skill did not execute within the time limit
K této chybové zprávě může dojít ve dvou případech, z nichž každá by se měla zacházet odlišně. Postupujte podle následujících pokynů v závislosti na tom, jakou dovednost vám vrátila tuto chybu.
Předdefinované dovednosti služeb Azure AI
Mnoho integrovaných kognitivních dovedností, jako je rozpoznávání jazyka, rozpoznávání entit nebo OCR, je podporováno koncovým bodem rozhraní API služeb Azure AI. Někdy dochází k přechodným problémům s těmito koncovými body a vyprší časový limit požadavku. U přechodných problémů neexistuje žádný lék s výjimkou čekání a pokusu znovu. Jako zmírnění rizik zvažte nastavení indexeru tak, aby běžel podle plánu. Naplánované indexování se vybere tam, kde skončilo. Za předpokladu, že se vyřeší přechodné problémy, mělo by být možné pokračovat v dalším naplánovaném spuštění indexování a zpracování kognitivních dovedností.
Pokud se tato chyba bude dál zobrazovat ve stejném dokumentu pro integrovanou kognitivní dovednost, vytvořte lístek podpory, abyste získali pomoc, protože se to neočekává.
Vlastní dovednosti
Pokud u vlastní dovednosti narazíte na chybu časového limitu, můžete vyzkoušet několik věcí. Nejprve zkontrolujte vlastní dovednost a ujistěte se, že se nezablokuje v nekonečné smyčce a že vrací výsledek konzistentně. Jakmile ověříte, že se vrátí výsledek, zkontrolujte dobu trvání provádění. Pokud jste pro definici vlastní dovednosti explicitně nenastavili timeout
hodnotu, výchozí timeout
hodnota je 30 sekund. Pokud 30 sekund není dostatečně dlouhé, aby se vaše dovednost spustila, můžete pro definici vlastní dovednosti zadat vyšší timeout
hodnotu. Tady je příklad definice vlastní dovednosti, kde je časový limit nastavený na 90 sekund:
{
"@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"
}
]
}
Maximální hodnota, kterou můžete pro timeout
parametr nastavit, je 230 sekund. Pokud vaše vlastní dovednost nemůže provádět konzistentně během 230 sekund, můžete zvážit snížení batchSize
vlastní dovednosti, aby bylo možné zpracovat v rámci jednoho spuštění méně dokumentů. Pokud jste už nastavili batchSize
hodnotu 1, musíte dovednost přepsat, aby ji bylo možné provést do 230 sekund, nebo ji jinak rozdělit na více vlastních dovedností, aby doba provádění pro každou vlastní dovednost byla maximálně 230 sekund. Další informace najdete v dokumentaci k vlastním dovednostem.
Error: Could not 'MergeOrUpload' | 'Delete' document to the search index
Dokument byl přečtený a zpracován, ale indexer ho nemohl přidat do indexu vyhledávání. Možné příčiny:
Důvod | Podrobnosti nebo příklad | Rozlišení |
---|---|---|
Pole obsahuje termín, který je příliš velký. | Termín v dokumentu je větší než limit 32 kB. | Toto omezení se můžete vyhnout tím, že se pole nenakonfiguruje jako filtrovatelné, fasetovatelné nebo řaditelné. |
Dokument je příliš velký, aby se indexoval. | Dokument je větší než maximální velikost požadavku rozhraní API. | Jak indexovat velké datové sady |
Dokument obsahuje příliš mnoho objektů v kolekci. | Kolekce v dokumentu překračuje maximální počet prvků ve všech složitých kolekcích. 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. |
Doporučujeme zmenšit velikost složité kolekce v dokumentu tak, aby byla nižší než limit, a vyhnout se tak vysokému využití úložiště. |
Potíže s připojením k cílovému indexu (který přetrvává po opakování), protože služba je pod jiným zatížením, jako je dotazování nebo indexování. | Nepodařilo se navázat připojení k aktualizaci indexu. Search je pod velkým zatížením. | Vertikální navýšení kapacity vyhledávací služby |
Search se opravuje pro aktualizaci služby nebo je uprostřed rekonfigurace topologie. | Nepodařilo se navázat připojení k aktualizaci indexu. Search právě dochází k výpadku nebo Search přechodu. | Konfigurace služby s alespoň třemi replikami pro 99,9% dostupnost na základě dokumentace ke sla |
Selhání základního výpočetního nebo síťového prostředku (vzácné) | Nepodařilo se navázat připojení k aktualizaci indexu. Došlo k neznámé chybě. | Nakonfigurujte indexery tak, aby běžely podle plánu pro vyzvednutí ze stavu selhání. |
Žádost o indexování vytvořená do cílového indexu nebyla potvrzena během časového limitu kvůli problémům se sítí. | Nelze navázat připojení k indexu vyhledávání včas. | Nakonfigurujte indexery tak, aby běžely podle plánu pro vyzvednutí ze stavu selhání. Pokud tento chybový stav přetrvává, zkuste také snížit velikost dávky indexeru. |
Error: Could not index document because some of the document's data was not valid
Dokument byl načten a zpracován indexerem, ale kvůli neshodě v konfiguraci polí indexu a dat extrahovaných a zpracovaných indexerem se nedala přidat do indexu vyhledávání. Možné příčiny:
Důvod | Podrobnosti nebo příklad |
---|---|
Datový typ jednoho nebo více polí extrahovaných indexerem není kompatibilní s datovým modelem odpovídajícího cílového indexového pole. | 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)'. |
Nepodařilo se extrahovat žádnou entitu JSON z řetězcové hodnoty. | 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.' |
Extrakce kolekce entit JSON z řetězcové hodnoty se nezdařila. | 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.' |
Ve zdrojovém dokumentu byl zjištěn neznámý typ. | Unknown type '_unknown_' cannot be indexed |
Ve zdrojovém dokumentu byla použita nekompatibilní notace pro zeměpisné body. | WKT POINT string literals are not supported. Use GeoJson point literals instead |
Ve všech těchto případech se podívejte na podporované datové typy a mapování datových typů pro indexery , abyste měli jistotu, že schéma indexu sestavíte správně a nastavili odpovídající mapování polí indexeru. Chybová zpráva obsahuje podrobnosti, které vám můžou pomoct zjistit zdroj neshody.
Error: Integrated change tracking policy cannot be used because table has a composite primary key
To platí pro tabulky SQL a obvykle k tomu dochází, když je klíč buď definovaný jako složený klíč, nebo když tabulka definovala jedinečný clusterovaný index (jako v indexu SQL, ne jako index Azure Search). Hlavním důvodem je, že se atribut klíče upraví tak, aby byl složeným primárním klíčem v jedinečném clusterovém indexu. V takovém případě se ujistěte, že vaše tabulka SQL nemá jedinečný clusterovaný index nebo že jste namapovali pole klíče na pole, u kterého není zaručeno, že neobsahuje duplicitní hodnoty.
Error: Could not process document within indexer max run time
K této chybě dochází, když indexer nemůže dokončit zpracování jednoho dokumentu ze zdroje dat v povolené době provádění. Maximální doba běhu je kratší při použití sad dovedností. Pokud k této chybě dojde, pokud máte hodnotu maxFailedItems nastavenou na jinou hodnotu než 0, indexer předá dokument v budoucích spuštěních, aby indexování mohlo probíhat. Pokud si nemůžete dovolit přeskočit žádný dokument nebo pokud se tato chyba zobrazuje konzistentně, zvažte rozdělení dokumentů do menších dokumentů, aby bylo možné provést částečný pokrok v rámci jednoho spuštění indexeru.
Error: Could not project document
K této chybě dochází, když se indexer pokouší projektovat data do úložiště znalostí a při pokusu došlo k chybě. Toto selhání může být konzistentní a opravitelné nebo může se jednat o přechodné selhání s výstupní jímkou projekce, kterou možná budete muset počkat a zkusit to znovu, aby bylo možné problém vyřešit. Tady je sada známých stavů selhání a možných řešení.
Důvod | Podrobnosti nebo příklad | Rozlišení |
---|---|---|
Nepodařilo se aktualizovat objekt blob 'blobUri' projekce v kontejneru 'containerName' |
Zadaný kontejner neexistuje. | Indexer zkontroluje, jestli byl zadaný kontejner dříve vytvořen, a v případě potřeby ho vytvoří, ale provede tuto kontrolu pouze jednou za spuštění indexeru. Tato chyba znamená, že po tomto kroku došlo k odstranění kontejneru. Pokud chcete tuto chybu vyřešit, zkuste to: nechte informace o účtu úložiště samotné, počkejte na dokončení indexeru a pak indexer spusťte znovu. |
Nepodařilo se aktualizovat objekt blob 'blobUri' projekce v kontejneru 'containerName' |
Nelze zapisovat data do přenosového připojení: Vzdálený hostitel vynutil ukončení existujícího připojení. | Očekává se, že u služby Azure Storage dojde k přechodnému selhání, a proto by se mělo vyřešit opětovným spuštěním indexeru. Pokud k této chybě dojde konzistentně, vytvořte lístek podpory, abyste ji mohli dále prošetřit. |
Nepodařilo se aktualizovat řádek 'projectionRow' v tabulce 'tableName' |
Server je zaneprázdněn. | Očekává se, že u služby Azure Storage dojde k přechodnému selhání, a proto by se mělo vyřešit opětovným spuštěním indexeru. Pokud k této chybě dojde konzistentně, vytvořte lístek podpory, abyste ji mohli dále prošetřit. |
Error: The cognitive service for skill '<skill-name>' has been throttled
Provádění dovedností selhalo, protože došlo k omezení volání služeb Azure AI. Obvykle k této třídě selhání dochází v případě, že se paralelně spouští příliš mnoho dovedností. Pokud ke spuštění indexeru používáte klientskou knihovnu Microsoft.Search.Documents, můžete pomocí funkce SearchIndexingBufferedSender získat automatické opakování neúspěšných kroků. V opačném případě můžete indexer resetovat a spustit znovu.
Error: Expected IndexAction metadata
Chyba "Očekávaná metadata IndexAction" znamená, že když se indexer pokusil přečíst dokument, aby zjistil, jaká akce se má provést, nenašla v dokumentu žádná odpovídající metadata. K této chybě obvykle dochází v případě, že indexer má přidanou nebo odebranou mezipaměť poznámek bez resetování indexeru. Pokud chcete tento postup vyřešit, měli byste indexer resetovat a spustit znovu.
Warning: Skill input was invalid
Chybí vstup dovednosti, má nesprávný typ nebo je neplatný. Může se zobrazit následující informace:
Could not execute skill
Skill executed but may have unexpected results
Kognitivní dovednosti mají požadované vstupy a volitelné vstupy. Například dovednost extrakce klíčových frází má dva požadované vstupy text
, languageCode
a žádné volitelné vstupy. Všechny vstupy vlastních dovedností jsou považovány za volitelné vstupy.
Pokud potřebné vstupy chybí nebo pokud vstup není správný typ, dovednost se přeskočí a vygeneruje upozornění. Vynechané dovednosti nevygenerují výstupy. Pokud podřízené dovednosti spotřebovávají výstupy vynechané dovednosti, můžou vygenerovat další upozornění.
Pokud chybí volitelný vstup, dovednost stále běží, ale může způsobit neočekávaný výstup z důvodu chybějícího vstupu.
V obou případech je toto upozornění způsobeno tvarem vašich dat. Pokud máte například dokument obsahující informace o lidech s poli firstName
, middleName
a lastName
, můžete mít některé dokumenty, které nemají položku pro middleName
. Pokud předáte middleName
dovednosti v kanálu jako vstup, předpokládá se, že tento vstup dovednosti v nějaké době chybí. Abyste zjistili, jestli se v důsledku tohoto upozornění vyžaduje nějaká akce, musíte vyhodnotit svá data a scénář.
Pokud chcete zadat výchozí hodnotu pro chybějící vstup, můžete pomocí podmíněné dovednosti vygenerovat výchozí hodnotu a pak jako vstup dovednosti použít výstup podmíněné dovednosti .
{
"@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" } ]
}
Důvod | Podrobnosti nebo příklad | Rozlišení |
---|---|---|
Zadání dovednosti je nesprávný typ. | "Požadovaný vstup dovednosti nebyl očekávaným typem String . Název: text , Zdroj: /document/merged_content ." Požadovaný vstup dovednosti nebyl očekávaným formátem. Název: text , Zdroj: /document/merged_content ." "Nelze iterovat nad polem /document/normalized_images/0/imageCelebrities/0/detail/celebrities ." "Nelze vybrat 0 v nematici /document/normalized_images/0/imageCelebrities/0/detail/celebrities " |
Určité dovednosti očekávají vstupy určitých typů, například dovednost mínění očekává text , že bude řetězcem. Pokud vstup určuje neřetěžnou hodnotu, dovednost se nespustí a nevygeneruje žádné výstupy. Ujistěte se, že vaše datová sada má jednotné vstupní hodnoty v typu, nebo použijte dovednost vlastního webového rozhraní API k předběžnému zpracování vstupu. Pokud iterujete dovednosti přes pole, zkontrolujte kontext dovednosti a vstupy * ve správných pozicích. Kontextový i vstupní zdroj by obvykle měly končit * poli. |
Chybí vstup dovednosti. | 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. |
Pokud k tomuto upozornění dojde u všech dokumentů, může dojít k překlepu ve vstupních cestách. Zkontrolujte velikost názvu vlastnosti. Vyhledejte v cestě další nebo chybějící * položku. Ověřte, že dokumenty ze zdroje dat poskytují požadované vstupy. |
Zadání kódu jazyka dovedností je neplatné. | Vstup dovednosti languageCode má následující kódy X,Y,Z jazyka , alespoň jeden z nich je neplatný. |
Další podrobnosti najdete níže. |
Warning: Skill input 'languageCode' has the following language codes 'X,Y,Z', at least one of which is invalid.
Jedna nebo více hodnot předaných do volitelného languageCode
vstupu podřízené dovednosti není podporováno. K tomu může dojít, pokud předáváte výstup languageDetectionSkill následným dovednostem a výstup se skládá z více jazyků, než jsou podporovány v těchto podřízených dovednostech.
Všimněte si, že pokud se neplatné countryHint
zadání předá jazyku LanguageDetectionSkill, může se zobrazit upozornění podobné tomuto. Pokud k tomu dojde, ověřte, že pole, které pro tento vstup používáte, obsahuje platné kódy zemí ISO 3166-1 alfa-2. Pokud jsou některé platné a některé jsou neplatné, pokračujte v následujících doprovodných materiálech, ale nahraďte ho a nahraďte languageCode
ho countryHint
a defaultLanguageCode
defaultCountryHint
nahraďte ho, aby odpovídaly vašemu případu použití.
Pokud víte, že vaše datová sada je všechna v jednom jazyce, měli byste odebrat JazykDetectionSkill a languageCode
vstup dovednosti a místo toho použít defaultLanguageCode
parametr dovednosti pro tuto dovednost za předpokladu, že je jazyk pro tuto dovednost podporován.
Pokud víte, že vaše datová sada obsahuje více jazyků, a proto potřebujete LanguageDetectionSkill a languageCode
vstup, zvažte přidání podmíněnéhoSkillu k vyfiltrování textu pomocí jazyků, které nejsou podporovány před předáním textu do podřízené dovednosti. Tady je příklad, jak to může vypadat pro 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" } ]
}
Tady je několik odkazů na aktuálně podporované jazyky pro každou z dovedností, které můžou vést k této chybové zprávě:
- Podporované jazyky EntityRecognitionSkill
- Podporované jazyky EntityLinkingSkill
- Podporované jazyky KeyPhraseExtractionSkill
- Podporované jazyky LanguageDetectionSkill
- Podporované jazyky PIIDetectionSkill
- Podporované jazyky sentimentSkill
- Podporované jazyky služby Translator
- Jazyky podporované v jazyce SplitSkill pro text:
da, de, en, es, fi, fr, it, ko, pt
Warning: Skill input was truncated
Kognitivní dovednosti omezují délku textu, který lze analyzovat najednou. Pokud textové zadání překročí limit, text se před obohacením zkrátí. Dovednost se provádí, ale ne nad všemi vašimi daty.
V následujícím příkladu LanguageDetectionSkill
'text'
může vstupní pole aktivovat toto upozornění, pokud je vstup nad limitem znaků. Vstupní limity najdete v referenční dokumentaci k dovednostem.
{
"@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill",
"inputs": [
{
"name": "text",
"source": "/document/text"
}
],
"outputs": [...]
}
Pokud chcete zajistit, aby byl veškerý text analyzován, zvažte použití dovednosti Split.
Warning: Web API skill response contains warnings
Indexer spustil dovednost v sadě dovedností, ale odpověď z požadavku webového rozhraní API indikuje, že existují upozornění. Projděte si upozornění a zjistěte, jak se vaše data ovlivňují a jestli je potřeba provést další akci.
Warning: The current indexer configuration does not support incremental progress
K tomuto upozornění dochází pouze pro zdroje dat Azure Cosmos DB.
Přírůstkový průběh během indexování zajišťuje, že pokud je provádění indexeru přerušeno přechodnými selháními nebo časovým limitem spuštění, indexer může vyzvednout místo toho, aby při příštím spuštění přestal, a nemusel znovu indexovat celou kolekci od začátku. To je zvlášť důležité při indexování velkých kolekcí.
Možnost obnovit nedokončenou úlohu indexování je predikovaná na to, že jsou dokumenty seřazené podle _ts
sloupce. Indexer pomocí časového razítka určí, který dokument se má vyzvednout dál. _ts
Pokud sloupec chybí nebo pokud indexer nedokáže určit, jestli je vlastní dotaz seřazený podle něj, indexer začne na začátku a zobrazí se toto upozornění.
Toto chování je možné přepsat, povolit přírůstkový průběh a potlačit toto upozornění pomocí assumeOrderByHighWaterMarkColumn
vlastnosti konfigurace.
Další informace najdete v tématu Přírůstkový průběh a vlastní dotazy.
Warning: Some data was lost during projection. Row 'X' in table 'Y' has string property 'Z' which was too long.
Služba Table Storage má omezení, jak mohou být vlastnosti velké entity. Řetězce můžou mít 32 000 znaků nebo méně. Pokud se promítá řádek s vlastností řetězce delší než 32 000 znaků, zachovají se pouze prvních 32 000 znaků. Chcete-li tento problém vyřešit, vyhněte se promítání řádků s řetězcovými vlastnostmi delšími než 32 000 znaků.
Warning: Truncated extracted text to X characters
Indexery omezují množství textu, které lze extrahovat z libovolného dokumentu. Tento limit závisí na cenové úrovni: 32 000 znaků pro úroveň Free, 64 000 pro Basic, 4 miliony pro Standard, 8 milionů pro Standard S2 a 16 milionů pro Standard S3. Text, který byl zkrácen, nebude indexován. Pokud se chcete tomuto upozornění vyhnout, zkuste rozdělit dokumenty s velkým množstvím textu na několik menších dokumentů.
Další informace najdete v tématu Omezení indexeru.
Warning: Could not map output field 'X' to search index
Mapování výstupních polí, která odkazují na neexistující data nebo data null, způsobí upozornění pro každý dokument a výsledkem bude prázdné pole indexu. Chcete-li tento problém vyřešit, pečlivě zkontrolujte cesty zdroje mapování výstupních polí pro možné překlepy nebo nastavte výchozí hodnotu pomocí podmíněné dovednosti. Podrobnosti najdete v tématu Mapování výstupních polí.
Důvod | Podrobnosti nebo příklad | Rozlišení |
---|---|---|
Nejde iterovat přes pole, které není pole | "Nelze iterovat nad polem /document/normalized_images/0/imageCelebrities/0/detail/celebrities ." |
K této chybě dochází v případě, že výstup není pole. Pokud si myslíte, že by měl být výstup pole, zkontrolujte chyby v uvedené cestě zdrojového pole výstupu. V názvu zdrojového pole můžete mít například chybějící nebo navíc * . Je také možné, že vstup pro tuto dovednost má hodnotu null, což vede k prázdnému poli. Podobné podrobnosti najdete v části Zadání dovednosti jako Neplatný oddíl. |
Nejde vybrat 0 v nematici |
"Nelze vybrat 0 v nematici /document/pages ." |
K tomu může dojít v případě, že výstup dovedností nevygeneruje pole a název výstupního zdrojového pole má index pole nebo * jeho cestu. Pečlivě zkontrolujte cesty zadané v názvech výstupních zdrojových polí a hodnotu pole pro zadaný název pole. Podobné podrobnosti najdete v části Zadání dovednosti jako Neplatný oddíl. |
Warning: The data change detection policy is configured to use key column 'X'
Zásady detekce změn dat mají specifické požadavky na sloupce, které používají k detekci změn. Jedním z těchto požadavků je, že se tento sloupec aktualizuje při každé změně zdrojové položky. Dalším požadavkem je, aby nová hodnota pro tento sloupec byla větší než předchozí hodnota. Klíčové sloupce tento požadavek nesplňují, protože se při každé aktualizaci nemění. Chcete-li tento problém vyřešit, vyberte jiný sloupec pro zásady detekce změn.
Warning: Document text appears to be UTF-16 encoded, but is missing a byte order mark
Režimy analýzy indexeru musí vědět, jak se text před parsováním kóduje. Dva nejběžnější způsoby kódování textu jsou UTF-16 a UTF-8. UTF-8 je kódování s proměnnou délkou, kde každý znak je dlouhý 1 bajt a 4 bajty. UTF-16 je kódování s pevnou délkou, kde každý znak má délku 2 bajty. UTF-16 má dvě různé varianty a big endian
little endian
. Kódování textu je určeno byte order mark
řadou bajtů před textem.
Kódování | Značka pořadí bajtů |
---|---|
UTF-16 Big Endian | 0xFE 0xFF |
UTF-16 Little Endian | 0xFF 0xFE |
UTF-8 | 0xEF 0xBB 0xBF |
Pokud není k dispozici žádná značka pořadí bajtů, předpokládá se, že text bude kódován jako UTF-8.
Pokud chcete toto upozornění obejít, určete, jaké je kódování textu pro tento objekt blob, a přidejte odpovídající značku pořadí bajtů.
Warning: Azure Cosmos DB collection 'X' has a Lazy indexing policy. Some data may be lost
Kolekce s opožděnými zásadami indexování se nedají konzistentně dotazovat, což vede k chybějícím datům indexeru. Pokud chcete toto upozornění obejít, změňte zásady indexování na Konzistentní.
Warning: The document contains very long words (longer than 64 characters). These words may result in truncated and/or unreliable model predictions.
Toto upozornění se předává ze služby Language služby Azure AI. V některých případech je bezpečné toto upozornění ignorovat, například pokud je dlouhý řetězec jen dlouhá adresa URL. Mějte na paměti, že pokud je slovo delší než 64 znaků, je zkráceno na 64 znaků, které můžou ovlivnit predikce modelu.
Error: Cannot write more bytes to the buffer than the configured maximum buffer size
Indexery mají omezení velikosti dokumentu. Ujistěte se, že dokumenty ve zdroji dat jsou menší než podporované omezení velikosti, jak je uvedeno pro vaši úroveň služby.