Ř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.

Počínaje verzí 2019-05-06rozhraní API jsou chyby a upozornění indexeru na úrovni položek strukturované, aby poskytovaly větší přehlednost o příčinách a dalších krocích. Obsahují následující vlastnosti:

Vlastnost Popis Příklad
Klíč ID dokumentu ovlivněného chybou nebo upozorněním https://<storageaccount>.blob.core.windows.net/jfk-1k/docid-32112954.pdf
Název Název operace popisující, kde došlo k chybě 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á nullcestě 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í
V kontejneru se nepodařilo aktualizovat objekt blob projekce.'blobUri''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.
V kontejneru se nepodařilo aktualizovat objekt blob projekce.'blobUri''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.
Nelze 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.

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, languageCodea žá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, middleNamea 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,Zjazyka , 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 defaultLanguageCodedefaultCountryHint 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ě:

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 nad polem "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 endianlittle 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.