Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit des informations et des solutions aux erreurs et avertissements courants que vous pouvez rencontrer lors de l’indexation et de l’enrichissement par IA dans Azure AI Search.
L’indexation s’arrête lorsque le nombre d’erreurs dépasse « maxFailedItems ».
Si vous souhaitez que les indexeurs ignorent ces erreurs (et ignorent les « documents ayant échoué »), envisagez de mettre à jour le maxFailedItems et le maxFailedItemsPerBatch comme décrit ici.
Remarque
Chaque document ayant échoué ainsi que sa clé de document (lorsque disponible) s’affiche comme une erreur dans l’état d’exécution de l’indexeur. Vous pouvez utiliser l’API d’index pour charger manuellement les documents à un moment ultérieur si vous avez défini l’indexeur pour tolérer les défaillances.
Les informations sur les erreurs contenues dans cet article peuvent vous aider à résoudre les erreurs, ce qui permet à l’indexation de continuer.
Les avertissements n’arrêtent pas l’indexation, mais ils indiquent des conditions qui peuvent entraîner des résultats inattendus. Que vous preniez des mesures ou non dépend des données et de votre scénario.
Où trouver des erreurs d’indexeur spécifiques ?
Pour vérifier l’état d’un indexeur et identifier les erreurs dans le portail Azure, procédez comme suit :
Connectez-vous au Portail Azure, puis trouvez votre service de recherche.
Sur la gauche, développez Gestion de la recherche>Les indexeurs et sélectionnez un indexeur.
Sous Historique d’exécution, sélectionnez l’état. Tous les statuts, y compris Succès, contiennent des détails sur l'exécution.
En cas d’erreur, pointez sur le message d’erreur. Un volet s’affiche sur le côté droit de votre écran affichant des informations détaillées sur l’erreur.
Erreurs temporaires
Pour diverses raisons, telles que les interruptions de communication réseau temporaires, les délais d’expiration des processus longs ou des nuances de document spécifiques, il est courant de rencontrer des erreurs temporaires ou des avertissements pendant les exécutions de l’indexeur. Toutefois, ces erreurs sont temporaires et doivent être résolues dans les exécutions d’indexeur suivantes.
Pour gérer efficacement ces erreurs, nous vous recommandons de mettre votre indexeur selon une planification, par exemple, pour s’exécuter toutes les cinq minutes, où la prochaine exécution commence cinq minutes après la première exécution, en respectant la limite maximale d’exécution sur votre service. Les exécutions planifiées régulièrement permettent de corriger les erreurs temporaires ou les avertissements.
Si une erreur persiste sur plusieurs exécutions d’indexeur, il est probable qu’il ne s’agit pas d’un problème temporaire. Dans ce cas, reportez-vous à la liste ci-dessous pour connaître les solutions potentielles.
Propriétés de l’erreur
| Propriété | Descriptif | Exemple : |
|---|---|---|
| Clé | ID du document affecté par l’erreur ou l’avertissement. | Exemple stockage Azure, où l’ID par défaut est le chemin de stockage des métadonnées : https://<storageaccount>.blob.core.windows.net/jfk-1k/docid-32112954.pdf |
| Nom | L’opération à l’origine de l’erreur ou de l’avertissement. Ceci est généré par la structure suivante : [category].[subcategory].[resourceType].[resourceName] |
DocumentExtraction.azureblob.myBlobContainerName
Enrichment.WebApiSkill.mySkillName
Projection.SearchIndex.OutputFieldMapping.myOutputFieldName
Projection.SearchIndex.MergeOrUpload.myIndexName
Projection.KnowledgeStore.Table.myTableName
|
| Message | Description générale de l’erreur ou de l’avertissement. | Could not execute skill because the Web Api request failed. |
| Détails | Des informations spécifiques susceptibles d’être utiles pour diagnostiquer le problème, telles que la réponse WebApi en cas d’échec de l’exécution d’une compétence personnalisée. | 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 | Lien vers la documentation pertinente avec des informations détaillées pour déboguer et résoudre le problème. Ce lien pointe souvent vers l’une des sections ci-dessous de cette page. | https://go.microsoft.com/fwlink/?linkid=2106475 |
Error: Could not read document
L’indexeur n’a pas pu lire le document à partir de la source de données. Cela peut se produire si :
| Motif | Détails/Exemple | Résolution |
|---|---|---|
| Types de champs incohérents dans différents documents |
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.
|
Vérifiez que le type de chaque champ est le même dans différents documents. Par exemple, si le premier champ de document 'startTime' est un DateTime et, dans le deuxième document, il s’agit d’une chaîne, cette erreur est atteinte. |
| Erreurs du service sous-jacent de la source de données | À partir d’Azure Cosmos DB : {"Errors":["Request rate is large"]} |
Vérifiez votre instance de stockage pour vous assurer qu’elle est saine. Vous devrez peut-être ajuster votre mise à l’échelle ou votre partitionnement. |
| Problèmes temporaires | 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 |
Il existe parfois des problèmes de connectivité inattendus. Essayez d’exécuter le document via votre indexeur ultérieurement. |
Error: Could not extract content or metadata from your document
L’indexeur avec une source de données Blob n’a pas pu extraire le contenu ou les métadonnées du document (par exemple, un fichier PDF). Cela peut se produire si :
| Motif | Détails/Exemple | Résolution |
|---|---|---|
| L’objet Blob dépasse la limite de taille | Document is '150441598' bytes, which exceeds the maximum size '134217728' bytes for document extraction for your current service tier. |
Erreurs d’indexation des objets Blob |
| L’objet Blob a un type de contenu non pris en charge | Document has unsupported content type 'image/png' |
Erreurs d’indexation des objets Blob |
| L’objet Blob est chiffré | Document could not be processed - it may be encrypted or password protected. |
Vous pouvez ignorer le blob en utilisant les paramètres du blob. |
| Problèmes temporaires |
Error processing blob: The request was aborted: The request was canceled.
Document timed out during processing.
|
Il existe parfois des problèmes de connectivité inattendus. Essayez d’exécuter le document via votre indexeur ultérieurement. |
Error: Could not parse document
L’indexeur lit le document à partir de la source de données, mais il y a eu un problème lors de la conversion du contenu du document dans le schéma de mappage de champs spécifié. Cela peut se produire si :
| Motif | Détails/Exemple | Résolution |
|---|---|---|
| La clé de document est manquante | Document key cannot be missing or empty |
Vérifiez que tous les documents ont des clés de document valides. La clé de document est déterminée en définissant la propriété « key » dans le cadre de la définition d’index. Les indexeurs émettent cette erreur lorsque la propriété marquée comme « clé » est introuvable sur un document particulier. |
| La clé de document n’est pas valide | Invalid document key. Keys can only contain letters, digits, underscore (_), dash (-), or equal sign (=). |
Vérifiez que tous les documents ont des clés de document valides. Consultez Indexation de Stockage Blob pour plus de détails. Si vous utilisez l’indexeur d’objets blob et que votre clé de document est la metadata_storage_path, vérifiez que la définition de l’indexeur inclut une fonction de mappage base64Encode avec parameters égal à null, au lieu du chemin d’accès en texte brut. |
| La clé de document n’est pas valide | Document key cannot be longer than 1024 characters |
Modifiez la clé de document pour répondre aux exigences de validation. |
| Impossible d’appliquer le mappage de champs à un champ | Could not apply mapping function 'functionName' to field 'fieldName'. Array cannot be null. Parameter name: bytes |
Vérifiez les mappages de champs définis sur l’indexeur et comparez les données du champ spécifié du document ayant échoué. Il peut être nécessaire de modifier les mappages de champs ou les données de document. |
| Impossible de lire la valeur du champ | 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.) |
Ces erreurs sont généralement dues à des problèmes de connectivité inattendus avec le service sous-jacent de la source de données. Essayez d’exécuter le document via votre indexeur ultérieurement. |
Error: Could not map output field 'xyz' to search index due to deserialization problem while applying mapping function 'abc'
Le mappage de sortie a peut-être échoué, car les données de sortie sont au format incorrect pour la fonction de mappage que vous utilisez. Par exemple, l’application Base64Encode d’une fonction de mappage sur des données binaires génère cette erreur. Pour résoudre le problème, réexécutez l’indexeur sans spécifier de fonction de mappage ou vérifiez que la fonction de mappage est compatible avec le type de données du champ de sortie. Pour plus d’informations, consultez le mappage des champs de sortie .
Error: Could not execute skill
L’indexeur n’a pas pu exécuter une compétence dans l’ensemble de compétences.
| Motif | Détails/Exemple | Résolution |
|---|---|---|
| Problèmes de connectivité temporaires | Une erreur temporaire s’est produite. Réessayez plus tard. | Il existe parfois des problèmes de connectivité inattendus. Essayez d’exécuter le document via votre indexeur ultérieurement. |
| Problème potentiel du produit | Une erreur inattendue s’est produite. | Cela indique une classe inconnue d’échec et peut indiquer un bogue de produit. Déposez un ticket de support pour obtenir de l’aide. |
| Une compétence a rencontré une erreur lors de l’exécution | (à partir de Compétence Fusion) Une ou plusieurs valeurs de décalage n’étaient pas valides. Il n’a pas été possible de les analyser. Les éléments ont été insérés à la fin du texte | Utilisez les informations contenues dans le message d’erreur pour résoudre le problème. Ce type d’échec nécessite une action à résoudre. |
Error: Could not execute skill because the Web API request failed
L’exécution de la compétence a échoué, car l’appel à l’API web a échoué. En règle générale, cette classe d’échec se produit lorsque des compétences personnalisées sont utilisées, auquel cas vous devez déboguer votre code personnalisé pour résoudre le problème. Si au lieu de cela, l’échec provient d’une compétence intégrée, reportez-vous au message d’erreur pour obtenir de l’aide sur la résolution du problème.
Lors du débogage de ce problème, prêtez attention aux éventuels avertissements d’entrée de compétence pour cette compétence. Votre point de terminaison d’API web peut échouer, car l’indexeur transmet une entrée inattendue.
Error: Could not execute skill because Web API skill response is invalid
L’exécution de la compétence a échoué, car l’appel à l’API web a retourné une réponse non valide. En règle générale, cette classe d’échec se produit lorsque des compétences personnalisées sont utilisées, auquel cas vous devez déboguer votre code personnalisé pour résoudre le problème. Si au lieu de cela, l’échec provient d’une compétence intégrée, déposez un ticket de support pour obtenir de l’aide.
Error: Type of value has a mismatch with column type. Couldn't store in 'xyz' column. Expected type is 'abc'
Si votre source de données a un champ avec un type de données différent du champ que vous essayez de mapper dans votre index, vous risquez de rencontrer cette erreur. Vérifiez vos types de données de champ de source de données et vérifiez qu’ils sont mappés correctement à vos types de données d’index.
Error: Skill did not execute within the time limit
Il existe deux cas dans lesquels vous pouvez rencontrer ce message d’erreur, chacun d’entre eux devant être traité différemment. Suivez les instructions ci-dessous en fonction de la compétence qui a causé cette erreur.
Compétences intégrées des outils Foundry
La plupart des compétences cognitives intégrées, telles que la détection de langage, la reconnaissance d’entité ou l’OCR, sont soutenues par un point de terminaison d’API Foundry Tools. Parfois, il existe des problèmes temporaires avec ces points de terminaison et une demande expire. Pour les problèmes temporaires, il n’existe aucun remède, sauf pour attendre et réessayer. En guise d’atténuation, envisagez de définir votre indexeur pour qu’il s’exécute selon une planification. L’indexation planifiée récupère là où elle s’est arrêtée. En supposant que les problèmes temporaires soient résolus, l’indexation et le traitement des compétences cognitives devraient pouvoir se poursuivre lors de la prochaine exécution planifiée.
Si vous continuez à voir cette erreur sur le même document pour une compétence cognitive intégrée, créez un ticket de support pour obtenir de l’aide, car cela n’est pas prévu.
Compétences personnalisées
Si vous rencontrez une erreur d’expiration d’une compétence personnalisée, vous pouvez essayer plusieurs solutions. Tout d’abord, passez en revue votre compétence personnalisée et assurez-vous qu’elle ne se bloque pas dans une boucle infinie et qu’elle retourne un résultat de manière cohérente. Une fois que vous avez confirmé qu’un résultat est obtenu, vérifiez la durée d’exécution. Si vous n’avez pas défini explicitement de timeout valeur sur votre définition de compétence personnalisée, la valeur par défaut timeout est de 30 secondes. Si 30 secondes ne sont pas suffisamment longues pour que votre compétence s’exécute, vous pouvez spécifier une valeur plus élevée timeout sur votre définition de compétence personnalisée. Voici un exemple de définition de compétence personnalisée où le délai d’expiration est défini sur 90 secondes :
{
"@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"
}
]
}
La valeur maximale que vous pouvez définir pour le timeout paramètre est de 230 secondes. Si votre compétence personnalisée ne peut pas s’exécuter de manière cohérente dans les 230 secondes, vous pouvez envisager de réduire la batchSize compétence personnalisée afin qu’elle ait moins de documents à traiter au sein d’une seule exécution. Si vous avez déjà défini votre batchSize valeur 1, vous devez réécrire la compétence pour pouvoir s’exécuter en moins de 230 secondes, ou la fractionner en plusieurs compétences personnalisées afin que le temps d’exécution d’une seule compétence personnalisée soit un maximum de 230 secondes. Pour plus d’informations, consultez la documentation des compétences personnalisées .
Error: Could not 'MergeOrUpload' | 'Delete' document to the search index
Le document a été lu et traité, mais l’indexeur n’a pas pu l’ajouter à l’index de recherche. Cela peut se produire si :
| Motif | Détails/Exemple | Résolution |
|---|---|---|
| Un champ contient un terme trop volumineux | Un terme dans votre document est supérieur à la limite de 32 Ko | Vous pouvez éviter cette restriction en vous assurant que le champ n’est pas configuré comme filtrable, facetable ou triable. |
| Le document est trop volumineux pour être indexé | Un document est supérieur à la taille maximale de la demande d’API | Guide pratique pour indexer des jeux de données volumineux |
| Le document contient trop d’objets dans la collection | Une collection dans votre document dépasse le nombre maximal d’éléments dans toutes les limites de collections complexes. 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. |
Nous vous recommandons de réduire la taille de la collection complexe dans le document en dessous de la limite et d’éviter une utilisation élevée du stockage. |
| Vous ne parvenez pas à vous connecter à l’index cible (qui persiste après les nouvelles tentatives), car le service est sous d’autres charges, telles que l’interrogation ou l’indexation. | Échec de l’établissement d’une connexion pour mettre à jour l’index. Le service de recherche est sous une charge importante. | Monter en puissance votre service de recherche |
| Le service de recherche est en cours de mise à jour ou en cours de reconfiguration de la topologie. | Échec de l’établissement d’une connexion pour mettre à jour l’index. Le service de recherche est actuellement en panne/le service de recherche subit une transition. | Configurer le service avec au moins trois réplicas pour une disponibilité de 99,9 % conformément à la documentation SLA |
| Échec dans la ressource de calcul/réseau sous-jacente (rare) | Échec de l’établissement d’une connexion pour mettre à jour l’index. Une erreur inconnue s’est produite. | Configurez les indexeurs pour qu’ils s’exécutent selon une planification pour récupérer à partir d’un état d’échec. |
| Une demande d’indexation adressée à l’index cible n’a pas été confirmée dans le délai imparti en raison de problèmes de réseau. | Impossible d’établir une connexion à l’index de recherche en temps opportun. | Configurez les indexeurs pour qu’ils s’exécutent selon une planification pour récupérer à partir d’un état d’échec. En outre, essayez de réduire la taille du lot de l’indexeur si cette condition d’erreur persiste. |
Error: Could not index document because some of the document's data was not valid
Le document a été lu et traité par l’indexeur, mais en raison d’une incompatibilité dans la configuration des champs d’index et des données extraites et traitées par l’indexeur, il n’a pas pu être ajouté à l’index de recherche. Cela peut se produire si :
| Motif | Détails/Exemple |
|---|---|
| Le type de données d’un ou plusieurs champs extraits par l’indexeur n’est pas compatible avec le modèle de données du champ d’index cible correspondant. | 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)'. |
| Échec de l’extraction d’une entité JSON à partir d’une valeur de chaîne. |
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.'
|
| Échec de l’extraction d’une collection d’entités JSON à partir d’une valeur de chaîne. |
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.'
|
| Un type inconnu a été découvert dans le document source. | Unknown type '_unknown_' cannot be indexed |
| Une notation incompatible pour les points géographiques a été utilisée dans le document source. | WKT POINT string literals are not supported. Use GeoJson point literals instead |
Dans tous ces cas, reportez-vous aux types de données pris en charge et au mappage de type de données pour les indexeurs afin de vous assurer que vous générez correctement le schéma d’index et que vous avez configuré les mappages de champs d’indexeur appropriés. Le message d’erreur inclut des détails qui peuvent aider à suivre la source de l’incompatibilité.
Error: Integrated change tracking policy cannot be used because table has a composite primary key
Cela s’applique aux tables SQL et se produit généralement lorsque la clé est définie comme une clé composite ou, lorsque la table a défini un index cluster unique (comme dans un index SQL, et non comme dans un index Recherche Azure). La raison principale est que l’attribut de clé est modifié pour être une clé primaire composite dans un index cluster unique. Dans ce cas, assurez-vous que votre table SQL n’a pas d’index cluster unique ou que vous mappez le champ clé à un champ qui n’a pas de valeurs en double.
Error: Could not process document within indexer max run time
Cette erreur se produit lorsque l’indexeur ne parvient pas à terminer le traitement d’un document unique à partir de la source de données dans le temps d’exécution autorisé. La durée d’exécution maximale est plus courte lorsque des ensembles de compétences sont utilisés. Lorsque cette erreur se produit, si vous avez défini maxFailedItems sur une valeur autre que 0, l’indexeur contourne le document lors des exécutions futures afin que l’indexation puisse progresser. Si vous ne pouvez pas vous permettre d’ignorer n’importe quel document ou si vous voyez cette erreur de façon cohérente, envisagez de diviser les documents en documents plus petits afin que la progression partielle puisse être effectuée au sein d’une seule exécution de l’indexeur.
Error: Could not project document
Cette erreur se produit lorsque l’indexeur tente de projeter des données dans une base de connaissances et qu’il y a eu un échec lors de la tentative. Cet échec peut être cohérent et corrigeable, ou il peut s’agir d’un échec temporaire avec le récepteur de sortie de projection que vous devrez peut-être attendre et réessayer pour résoudre. Voici un ensemble d’états d’échec connus et de résolutions possibles.
| Motif | Détails/Exemple | Résolution |
|---|---|---|
Impossible de mettre à jour le blob de projection 'blobUri' dans le conteneur 'containerName' |
Le conteneur spécifié n’existe pas. | L’indexeur vérifie si le conteneur spécifié a été créé précédemment et le crée si nécessaire, mais il effectue uniquement cette vérification une fois par exécution de l’indexeur. Cette erreur signifie que quelque chose a supprimé le conteneur après cette étape. Pour résoudre cette erreur, essayez ceci : laissez les informations de votre compte de stockage seules, attendez que l’indexeur se termine, puis réexécutez l’indexeur. |
Impossible de mettre à jour le blob de projection 'blobUri' dans le conteneur 'containerName' |
Impossible d’écrire des données dans la connexion de transport : une connexion existante a été fermée de force par l’hôte distant. | Il s’agit d’un échec temporaire avec stockage Azure et doit donc être résolu en réexécutant l’indexeur. Si vous rencontrez cette erreur de manière cohérente, déposez un ticket de support afin qu’il puisse être examiné plus loin. |
Impossible de mettre à jour la ligne 'projectionRow' dans la table 'tableName' |
Le serveur est occupé. | Il s’agit d’un échec temporaire avec stockage Azure et doit donc être résolu en réexécutant l’indexeur. Si vous rencontrez cette erreur de manière cohérente, déposez un ticket de support afin qu’il puisse être examiné plus loin. |
Error: The cognitive service for skill '<skill-name>' has been throttled
L’exécution de la compétence a échoué parce que l’appel à Foundry Tools a fait l’objet d’une limitation. En règle générale, cette classe d’échec se produit lorsque trop de compétences s’exécutent en parallèle. Si vous utilisez la bibliothèque cliente Microsoft.Search.Documents pour exécuter l’indexeur, vous pouvez utiliser SearchIndexingBufferedSender pour obtenir une nouvelle tentative automatique lors des étapes ayant échoué. Sinon, vous pouvez réinitialiser et réexécuter l’indexeur.
Error: Expected IndexAction metadata
Une erreur « Métadonnées IndexAction attendues » signifie que lorsque l’indexeur a tenté de lire le document pour identifier l’action à entreprendre, il ne trouve pas de métadonnées correspondantes sur le document. En règle générale, cette erreur se produit lorsque l’indexeur a un cache d’annotation ajouté ou supprimé sans réinitialiser l’indexeur. Pour résoudre ce problème, vous devez réinitialiser et réexécuter l’indexeur.
Warning: Skill input was invalid
Une entrée pour la compétence est manquante, a un type incorrect ou est non valide. Vous pouvez voir les informations suivantes :
Could not execute skillSkill executed but may have unexpected results
Les compétences cognitives ont besoin d’entrées et d’entrées facultatives. Par exemple, la compétence d’extraction d’expressions clés a deux entrées requises text, languageCodeet aucune entrée facultative. Les entrées de compétence personnalisées sont toutes considérées comme des entrées facultatives.
Si les entrées nécessaires sont manquantes ou si l’entrée n’est pas le type approprié, la compétence est ignorée et génère un avertissement. Les compétences ignorées ne génèrent pas de résultats. Si des compétences situées en aval utilisent les résultats de la compétence ignorée, elles peuvent générer d’autres avertissements.
Si une entrée facultative est manquante, la compétence s’exécute toujours, mais elle peut produire une sortie inattendue en raison de l’entrée manquante.
Dans les deux cas, cet avertissement est dû à la forme de vos données. Par exemple, si vous avez un document contenant des informations sur les personnes avec les champs firstName, middleName, et lastName, il se peut que vous ayez des documents qui n'ont pas d'entrée pour middleName. Si vous transmettez middleName en tant qu’entrée à une compétence dans le pipeline, il est prévu que cette entrée de compétence soit parfois manquante. Vous devez évaluer vos données et votre scénario pour déterminer si aucune action n’est requise à la suite de cet avertissement.
Si vous souhaitez fournir une valeur par défaut pour une entrée manquante, vous pouvez utiliser la compétence conditionnelle pour générer une valeur par défaut, puis utiliser la sortie de la compétence conditionnelle comme entrée de compétence.
{
"@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" } ]
}
| Motif | Détails/Exemple | Résolution |
|---|---|---|
| Le type de saisie de compétence est incorrect. | « L’entrée de compétence requise n’était pas du type Stringattendu. Nom : text, Source : /document/merged_content». « L’entrée de compétence requise n’était pas du format attendu. Nom : text, Source : /document/merged_content». « Impossible d’itérer sur un tableau non matricielle /document/normalized_images/0/imageCelebrities/0/detail/celebrities». « Impossible de sélectionner 0 dans un tableau non matricielle /document/normalized_images/0/imageCelebrities/0/detail/celebrities» |
Certaines compétences attendent des entrées de types particuliers, par exemple la compétence Sentiment s’attend text à être une chaîne. Si l’entrée spécifie une valeur non chaîne, la compétence ne s’exécute pas et ne génère aucune sortie. Vérifiez que votre jeu de données a des valeurs d’entrée uniformes en type ou utilisez une compétence d’API web personnalisée pour prétraiter l’entrée. Si vous itérez la fonctionnalité à travers un tableau, vérifiez que le contexte de la fonctionnalité et l'entrée contiennent * aux positions correctes. En règle générale, le contexte et la source d’entrée doivent se terminer par * pour les tableaux. |
| Une entrée de compétence est manquante |
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.
|
Si cet avertissement se produit pour tous les documents, il peut y avoir une faute de frappe dans les chemins d’accès d’entrée. Vérifiez la casse du nom de la propriété. Recherchez un * supplémentaire ou manquant dans le chemin d’accès. Vérifiez que les documents de la source de données fournissent les entrées requises. |
| L’entrée de code du langage de compétence n’est pas valide | L'entrée de compétence languageCode comporte les codes de langue suivants X,Y,Z, dont au moins un n'est pas valide. |
Pour plus d’informations, voir ci-dessous. |
Warning: Skill input 'languageCode' has the following language codes 'X,Y,Z', at least one of which is invalid.
Une ou plusieurs des valeurs passées dans l’entrée facultative languageCode d’une compétence en aval ne sont pas prises en charge. Cela peut se produire si vous passez la sortie de LanguageDetectionSkill aux compétences suivantes, et que la sortie se compose de plus de langues que celles prises en charge dans ces compétences en aval.
Notez que vous pouvez également obtenir un avertissement similaire à celui-ci si une entrée non valide countryHint est transmise à LanguageDetectionSkill. Si cela se produit, vérifiez que le champ que vous utilisez à partir de votre source de données pour cette entrée contient des codes de pays iso 3166-1 alpha-2 valides. Si certains sont valides et que certains ne sont pas valides, poursuivez avec les instructions suivantes, mais remplacez languageCodecountryHint par et defaultLanguageCode par defaultCountryHint pour correspondre à votre cas d’usage.
Si vous savez que votre jeu de données est dans une seule langue, vous devez supprimer languageDetectionSkill et l’entrée languageCode de compétence et utiliser le defaultLanguageCode paramètre de compétence pour cette compétence, en supposant que la langue est prise en charge pour cette compétence.
Si vous savez que votre jeu de données contient plusieurs langues et que vous avez donc besoin de LanguageDetectionSkill et de l’entrée languageCode, ajoutez un paramètre ConditionalSkill pour filtrer le texte selon les langues non prises en charge avant de passer le texte à la compétence en aval. Voici un exemple de ce à quoi cela peut ressembler pour 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" } ]
}
Voici quelques références pour les langues actuellement prises en charge pour chacune des compétences qui peuvent produire ce message d’erreur :
- Langues prises en charge par EntityRecognitionSkill
- Langues prises en charge par EntityLinkingSkill
- Langues prises en charge par KeyPhraseExtractionSkill
- Langues prises en charge par LanguageDetectionSkill
- Langues prises en charge par PIIDetectionSkill
- Langues prises en charge par SentimentSkill
- Langues prises en charge par Translator
- Langues prises en charge par SplitSkill Texte :
da, de, en, es, fi, fr, it, ko, pt
Warning: Skill input was truncated
Les compétences cognitives limitent la longueur du texte qui peut être analysée à la fois. Si l’entrée de texte dépasse la limite, le texte est tronqué avant son enrichissement. La fonctionnalité s’exécute, mais pas sur toutes vos données.
Dans l’exemple LanguageDetectionSkill ci-dessous, le 'text' champ d’entrée peut déclencher cet avertissement si l’entrée dépasse la limite de caractères. Vous trouverez des limites d’entrée dans la documentation de référence sur les compétences.
{
"@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill",
"inputs": [
{
"name": "text",
"source": "/document/text"
}
],
"outputs": [...]
}
Si vous souhaitez vous assurer que tout le texte est analysé, envisagez d’utiliser la compétence Fractionner.
Warning: Web API skill response contains warnings
L’indexeur a exécuté la compétence dans l’ensemble de compétences, mais la réponse à la demande de l’API web indique qu’il y a des avertissements. Passez en revue les avertissements pour comprendre comment vos données sont affectées et si d’autres actions sont requises.
Warning: The current indexer configuration does not support incremental progress
Cet avertissement se produit uniquement pour les sources de données Azure Cosmos DB.
La progression incrémentielle pendant l’indexation garantit que si l’exécution de l’indexeur est interrompue par des échecs temporaires ou une limite de temps d’exécution, l’indexeur peut récupérer là où il a quitté la prochaine fois qu’il s’exécute, au lieu de devoir réindexer l’ensemble de la collection à partir de zéro. Cela est particulièrement important lors de l’indexation de grandes collections.
La possibilité de reprendre un travail d’indexation non terminé dépend d'avoir les documents ordonnés selon la colonne _ts. L’indexeur utilise l’horodatage pour déterminer le document à récupérer ensuite. Si la _ts colonne est manquante ou si l’indexeur ne peut pas déterminer si une requête personnalisée est ordonnée par celle-ci, l’indexeur démarre au début et vous verrez cet avertissement.
Il est possible de remplacer ce comportement, en activant la progression incrémentielle et en supprimant cet avertissement à l’aide de la assumeOrderByHighWaterMarkColumn propriété de configuration.
Pour plus d’informations, consultez Progression incrémentielle et requêtes personnalisées.
Warning: Some data was lost during projection. Row 'X' in table 'Y' has string property 'Z' which was too long.
Le service Stockage Table impose des limites sur la taille des propriétés d’entité. Les chaînes peuvent comporter 32 000 caractères ou moins. Si une ligne avec une propriété de chaîne supérieure à 32 000 caractères est projetée, seuls les 32 000 premiers caractères sont conservés. Pour contourner ce problème, évitez de projeter des lignes avec des propriétés de chaîne supérieures à 32 000 caractères.
Warning: Truncated extracted text to X characters
Les indexeurs limitent la quantité de texte pouvant être extraite de n’importe quel document. Cette limite dépend du niveau tarifaire : 32 000 caractères pour le niveau Gratuit, 64 000 pour Basic, 4 millions pour Standard, 8 millions pour Standard S2 et 16 millions pour Standard S3. Le texte tronqué ne sera pas indexé. Pour éviter cet avertissement, essayez de séparer les documents avec de grandes quantités de texte en plusieurs documents plus petits.
Pour plus d’informations, consultez limites de l’indexeur.
Warning: Could not map output field 'X' to search index
Les mappages de champs de sortie qui référencent des données inexistantes/null produisent des avertissements pour chaque document et entraînent un champ d’index vide. Pour contourner ce problème, vérifiez deux fois les chemins sources de mappage de champs de sortie pour les fautes de frappe possibles ou définissez une valeur par défaut à l’aide de la compétence conditionnelle. Pour plus d’informations, consultez le mappage des champs de sortie .
| Motif | Détails/Exemple | Résolution |
|---|---|---|
| Impossible d'itérer sur un élément non-tableau | « Impossible d’effectuer une itération sur le non-tableau /document/normalized_images/0/imageCelebrities/0/detail/celebrities ». |
Cette erreur se produit lorsque la sortie n’est pas un tableau. Si vous pensez que la sortie doit être un tableau, vérifiez le chemin du champ source de sortie indiqué pour les erreurs. Par exemple, vous pourriez avoir un * manquant ou supplémentaire dans le nom du champ source. Il est également possible que l’entrée de cette compétence soit null, ce qui entraîne un tableau vide. Recherchez des détails similaires dans la section Entrée de compétence non valide . |
Impossible de sélectionner 0 dans le non-tableau |
« Impossible de sélectionner 0 dans le non-tableau /document/pages ». |
Cela peut survenir si la sortie des compétences ne produit pas de tableau et que le nom du champ source de la sortie comporte un index de tableau ou * dans son chemin d’accès. Revérifiez les chemins fournis dans les noms de champ source de sortie ainsi que la valeur du champ pour le nom de champ indiqué. Recherchez des détails similaires dans la section Entrée de compétence non valide . |
Warning: The data change detection policy is configured to use key column 'X'
Les stratégies de détection des modifications de données ont des exigences spécifiques pour les colonnes qu’ils utilisent pour détecter les modifications. L’une de ces exigences est que cette colonne est mise à jour chaque fois que l’élément source est modifié. Une autre exigence est que la nouvelle valeur de cette colonne est supérieure à la valeur précédente. Les colonnes clés ne répondent pas à cette exigence, car elles ne changent pas sur chaque mise à jour. Pour contourner ce problème, sélectionnez une autre colonne pour la stratégie de détection des modifications.
Warning: Document text appears to be UTF-16 encoded, but is missing a byte order mark
Les modes d’analyse de l’indexeur doivent savoir comment le texte est encodé avant de l’analyser. Les deux méthodes les plus courantes d’encodage de texte sont UTF-16 et UTF-8. UTF-8 est un encodage de longueur variable où chaque caractère est compris entre 1 octet et 4 octets de long. UTF-16 est un encodage de longueur fixe où chaque caractère est de 2 octets de long. UTF-16 a deux variantes différentes, big endian et little endian. L’encodage de texte est déterminé par une byte order marksérie d’octets avant le texte.
| Codage | Marque d’ordre d’octet |
|---|---|
| UTF-16 avec primauté des octets de poids fort (big-endian) | 0xFE 0xFF |
| UTF-16 mode Little Endian | 0xFF 0xFE |
| UTF-8 | 0xEF 0xBB 0xBF |
Si aucune marque d’ordre d’octet n’est présente, le texte est supposé être encodé en UTF-8.
Pour contourner cet avertissement, déterminez l’encodage de texte de cet objet blob et ajoutez la marque d’ordre d’octet appropriée.
Warning: Azure Cosmos DB collection 'X' has a Lazy indexing policy. Some data may be lost
Les collections dotées de stratégies d’indexation différée ne peuvent pas être interrogées de manière cohérente, ce qui entraîne une absence de données dans votre indexeur. Pour contourner cet avertissement, remplacez votre stratégie d’indexation par Cohérence.
Warning: The document contains very long words (longer than 64 characters). These words may result in truncated and/or unreliable model predictions.
Cet avertissement est transmis à partir du service linguistique de Foundry Tools. Dans certains cas, il est sûr d’ignorer cet avertissement, par exemple si la chaîne longue n’est qu’une longue URL. N’oubliez pas que lorsqu’un mot est supérieur à 64 caractères, il est tronqué à 64 caractères qui peuvent affecter les prédictions de modèle.
Error: Cannot write more bytes to the buffer than the configured maximum buffer size
Les indexeurs ont des limites de taille de document. Assurez-vous que les documents de votre source de données sont inférieurs à la limite de taille prise en charge, comme documenté pour votre niveau de service.
Error: Failed to compare value 'X' of type M to value 'Y' of type N.
Cette erreur se produit généralement dans les indexeurs Azure SQL lorsque le type de colonne source utilisé pour dataChangeDetectionPolicy ne correspond pas à ce que l’indexeur attend, en particulier s’il convertHighWaterMarkToRowVersion est activé.
Par exemple, si la colonne utilisée pour la détection des modifications est de type datetime, mais que l’indexeur attend un type rowversion, car convertHighWaterMarkToRowVersion est activé, l’incompatibilité provoque une erreur.
Vérifiez le type de données de la colonne « High Water Mark » dans la source et mettez à jour la configuration de l’indexeur en conséquence. Une fois vérifié et mis à jour, réinitialisez et réexécutez l’indexeur pour traiter les valeurs de colonne.
Error: Access denied to Virtual Network/Firewall rules.
Cette erreur se produit généralement en raison de l’une des opérations suivantes :
- Restrictions de pare-feu sur les ressources Azure requises par votre indexeur, en fonction de votre configuration. Ces ressources peuvent inclure : la source de données, le compte stockage Azure (utilisé pour les sessions de débogage, l’enrichissement incrémentiel ou la base de connaissances), La fonction Azure (utilisée pour les compétences personnalisées de l’API web) ou les déploiements Microsoft Foundry utilisés lors de l’enrichissement par IA.
- Configurations de point de terminaison privé qui bloquent l’accès de l’indexeur à ces ressources.
Vérifiez que l’indexeur a accès à vos composants d’installation en examinant vos configurations de ressources pour confirmer qu’elles autorisent le trafic vers tous les services requis :
Error: Credentials provided in the connection string are invalid or have expired.
Cette erreur se produit lorsque l’indexeur Azure AI Search ne peut pas s’authentifier à l’aide de la chaîne de connexion fournie ou qu’il rencontre des problèmes d’accès au compte de stockage pour vérifier les informations d’identification.
| Cause possible | Détails/Exemple | Résolution |
|---|---|---|
| Clé expirée ou rotée | Une chaîne de connexion contient une clé obsolète qui ne fonctionne plus. | Accédez à la ressource en cours de contact (par exemple, Stockage Azure ou Azure SQL) et copiez les dernières clés d’accès si vous utilisez l’authentification basée sur des clés, puis mettez à jour la source de données ou la chaîne de connexion en conséquence. |
| Identité managée non activée ou accès non accordé | L’identité managée du service RECHERCHE IA est activée, mais n’a pas les rôles d’accès requis. | - Activez l'identité managée, qu'elle soit attribuée par le système ou par l'utilisateur, sur le service de recherche. - Attribuez un ou plusieurs rôles appropriés à l’identité (par exemple, Storage Blob Data Reader pour les conteneurs d’objets blob). Chaque source de données a ses propres exigences d’autorisation. |
| Le réseau ou pare-feu bloque l'accès aux identités. | La ressource contactée est configurée pour restreindre l’accès réseau. | Configurez les paramètres réseau pour autoriser l’accès Azure AI Search. |
| L’autorisation de clé a été désactivée | L’accès à la clé partagée a été supprimé sur la source, mais la configuration de la source de données du service de recherche utilise toujours l’authentification basée sur des clés. | Utilisez l’authentification d’identité managée et vérifiez que les autorisations basées sur les rôles sont en place. Du point de vue du stockage Azure, cela signifie que la fonctionnalité d’autorisation de clé partagée est bloquée, à partir du compte de stockage lui-même ou appliquée par le biais de stratégies Azure au niveau de l’entreprise. |