Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporciona información y soluciones a errores y advertencias comunes que puede encontrar durante la indexación y el enriquecimiento con IA en Azure AI Search.
La indexación se detiene cuando el recuento de errores supera "maxFailedItems".
Si desea que los indexadores pasen por alto estos errores (y omitan "documentos fallidos"), considere actualizar maxFailedItems y maxFailedItemsPerBatch como se describe aquí.
Nota:
Cada documento con error junto con su clave de documento (cuando está disponible) se mostrará como un error en el estado de ejecución del indexador. Puede usar la API de índice para cargar manualmente los documentos en un punto posterior si ha establecido el indexador para tolerar errores.
La información de error de este artículo puede ayudarle a resolver errores, lo que permite que la indexación continúe.
Las advertencias no detienen la indexación, pero indican condiciones que podrían dar lugar a resultados inesperados. Si decides actuar o no, depende de los datos y de tu situación.
¿Dónde puede encontrar errores específicos del indexador?
Para comprobar un estado del indexador e identificar errores en Azure Portal, siga estos pasos:
Inicie sesión en Azure Portal y encuentre su servicio de búsqueda.
A la izquierda, expanda Administración de Búsqueda>Indexadores y seleccione un indexador.
En Historial de ejecución, seleccione el estado. Todos los estados, incluido Correcto, tienen detalles sobre la ejecución.
Si se produce un error, mantenga el puntero sobre el mensaje de error. Aparece un panel en el lado derecho de la pantalla que muestra información detallada sobre el error.
Errores transitorios
Por varias razones, como interrupciones transitorias de la comunicación de red, tiempos de espera de procesos de ejecución prolongada o matices específicos del documento, es habitual encontrar errores transitorios o advertencias durante las ejecuciones del indexador. Sin embargo, estos errores son temporales y deben resolverse en ejecuciones posteriores del indexador.
Para administrar estos errores de forma eficaz, se recomienda colocar el indexador en una programación, por ejemplo, para ejecutarse cada cinco minutos, donde la siguiente ejecución comienza cinco minutos después de completar la primera ejecución, cumpliendo con el límite máximo de tiempo de ejecución en el servicio. Las ejecuciones programadas periódicamente ayudan a corregir errores transitorios o advertencias.
Si un error persiste en varias ejecuciones del indexador, es probable que no sea un problema transitorio. En tales casos, consulte la lista siguiente para ver posibles soluciones.
Propiedades de error
| Propiedad | Description | Example |
|---|---|---|
| Key | Identificador del documento afectado por el error o la advertencia. | Ejemplo de Azure Storage, donde el identificador predeterminado es la ruta de acceso de almacenamiento de metadatos: https://<storageaccount>.blob.core.windows.net/jfk-1k/docid-32112954.pdf |
| Nombre | Operación que provoca el error o la advertencia. Esto se genera mediante la siguiente estructura: [category].[subcategory].[resourceType].[resourceName] |
DocumentExtraction.azureblob.myBlobContainerName
Enrichment.WebApiSkill.mySkillName
Projection.SearchIndex.OutputFieldMapping.myOutputFieldName
Projection.SearchIndex.MergeOrUpload.myIndexName
Projection.KnowledgeStore.Table.myTableName
|
| Message | Descripción general del error o advertencia. | Could not execute skill because the Web Api request failed. |
| Detalles | Información específica que puede resultar útil para diagnosticar el problema, como la respuesta de WebApi si se produce un error en la ejecución de una aptitud personalizada. | 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 | Vínculo a la documentación pertinente con información detallada para depurar y resolver el problema. Este vínculo suele apuntar a una de las secciones siguientes de esta página. | https://go.microsoft.com/fwlink/?linkid=2106475 |
Error: Could not read document
Indizador no pudo leer el documento del origen de datos. Estos pueden ser los motivos:
| Motivo | Detalles y ejemplo | Resolución |
|---|---|---|
| Tipos de campo incoherentes en distintos documentos |
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.
|
Asegúrese de que el tipo de cada campo sea el mismo en distintos documentos. Por ejemplo, si el primer campo del documento 'startTime' es una FechaHora y, en el segundo documento, es una cadena de texto, este error ocurre. |
| Errores del servicio subyacente del origen de datos | Desde Azure Cosmos DB: {"Errors":["Request rate is large"]} |
Compruebe la instancia de almacenamiento para asegurarse de que está en buen estado. Es posible que tenga que ajustar el escalado o la creación de particiones. |
| Problemas transitorios | 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 |
En ocasiones, hay problemas de conectividad inesperados. Intente volver a ejecutar el documento a través del indexador más adelante. |
Error: Could not extract content or metadata from your document
El indexador con un origen de datos blob no pudo extraer el contenido o los metadatos del documento (por ejemplo, un archivo PDF). Estos pueden ser los motivos:
| Motivo | Detalles y ejemplo | Resolución |
|---|---|---|
| El blob está por encima del límite de tamaño | Document is '150441598' bytes, which exceeds the maximum size '134217728' bytes for document extraction for your current service tier. |
Errores de indexación de blobs |
| El blob tiene un tipo de contenido no admitido | Document has unsupported content type 'image/png' |
Errores de indexación de blobs |
| El blob está cifrado | Document could not be processed - it may be encrypted or password protected. |
Puede omitir el blob con la configuración del blob. |
| Problemas transitorios |
Error processing blob: The request was aborted: The request was canceled.
Document timed out during processing.
|
En ocasiones, hay problemas de conectividad inesperados. Intente volver a ejecutar el documento a través del indexador más adelante. |
Error: Could not parse document
Indexador leyó el documento del origen de datos, pero hubo un problema al convertir el contenido del documento en el esquema de asignación de campos especificado. Estos pueden ser los motivos:
| Motivo | Detalles y ejemplo | Resolución |
|---|---|---|
| Falta la clave del documento | Document key cannot be missing or empty |
Asegúrese de que todos los documentos tienen claves de documento válidas. La clave de documento se determina estableciendo la propiedad 'key' como parte de la definición de índice. Los indexadores emiten este error cuando la propiedad marcada como "clave" no se encuentra en un documento determinado. |
| La clave de documento no es válida | Invalid document key. Keys can only contain letters, digits, underscore (_), dash (-), or equal sign (=). |
Asegúrese de que todos los documentos tienen claves de documento válidas. Consulte Indexación de Blob Storage para obtener más detalles. Si usa el indizador de blobs y la clave del documento es el campo metadata_storage_path, asegúrese de que la definición del indizador tiene una función de asignación base64Encode con parameters igual a null, en lugar de la ruta de acceso en texto sin formato. |
| La clave de documento no es válida | Document key cannot be longer than 1024 characters |
Modifique la clave del documento para cumplir los requisitos de validación. |
| No se pudo aplicar la asignación de campos a un campo | Could not apply mapping function 'functionName' to field 'fieldName'. Array cannot be null. Parameter name: bytes |
Vuelva a comprobar las asignaciones de campos definidas en el indexador y compárelas con los datos del campo especificado del documento fallido. Es posible que sea necesario modificar las asignaciones de campos o los datos del documento. |
| No se pudo leer el valor del campo | Could not read the value of column 'fieldName' at index 'fieldIndex'. A transport-level error has occurred when receiving results from the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.) |
Estos errores suelen deberse a problemas de conectividad inesperados con el servicio subyacente del origen de datos. Intente volver a ejecutar el documento a través del indexador más adelante. |
Error: Could not map output field 'xyz' to search index due to deserialization problem while applying mapping function 'abc'
Es posible que se haya producido un error en la asignación de salida porque los datos de salida tienen un formato incorrecto para la función de asignación que está usando. Por ejemplo, aplicar Base64Encode la función de asignación en datos binarios generaría este error. Para resolver el problema, vuelva a ejecutar el indexador sin especificar la función de asignación o asegúrese de que la función de asignación sea compatible con el tipo de datos del campo de salida. Consulte Asignación de campos de salida para obtener más información.
Error: Could not execute skill
El indexador no pudo ejecutar una aptitud del conjunto de aptitudes.
| Motivo | Detalles y ejemplo | Resolución |
|---|---|---|
| Problemas de conectividad transitorios | Error transitorio. Inténtalo de nuevo más tarde. | En ocasiones, hay problemas de conectividad inesperados. Intente volver a ejecutar el documento a través del indexador más adelante. |
| Posible error de producto | Error inesperado. | Esto indica una clase desconocida de error y puede indicar un error de producto. Presentar un ticket de soporte para obtener ayuda. |
| Una habilidad ha encontrado un error durante la ejecución | (De la Aptitud Combinación) Uno o varios valores de desplazamiento no eran válidos y no se pudieron analizar. Los elementos se insertaron al final del texto | Use la información del mensaje de error para corregir el problema. Este tipo de fallo requiere que se tome acción para resolverlo. |
Error: Could not execute skill because the Web API request failed
Falló la ejecución de la habilidad porque se produjo un error en la llamada a la API web. Normalmente, esta clase de error se produce cuando se usan habilidades personalizadas, en cuyo caso debemos depurar el código personalizado para resolver el problema. Si, en su lugar, el error procede de una aptitud integrada, consulte el mensaje de error para obtener ayuda para corregir el problema.
Durante la depuración de este problema, asegúrese de prestar atención a las advertencias de entrada de aptitudes de esta aptitud. Es posible que se produzca un error en el punto de conexión de la API web porque el indexador le está proporcionando una entrada inesperada.
Error: Could not execute skill because Web API skill response is invalid
Error en la ejecución de la habilidad debido a que la llamada a la API web devolvió una respuesta no válida. Normalmente, esta clase de error se produce cuando se usan habilidades personalizadas, en cuyo caso debemos depurar el código personalizado para resolver el problema. Si el error, en cambio, procede de una habilidad integrada, envíe un ticket de soporte para obtener ayuda.
Error: Type of value has a mismatch with column type. Couldn't store in 'xyz' column. Expected type is 'abc'
Si el origen de datos tiene un campo con un tipo de datos diferente al campo que intenta asignar en el índice, podría producirse este error. Compruebe los tipos de datos del campo de origen de datos y asegúrese de que están asignados correctamente a los tipos de datos de índice.
Error: Skill did not execute within the time limit
Hay dos casos en los que podría encontrar este mensaje de error, cada uno de los cuales debe tratarse de forma diferente. Siga las instrucciones que se indican a continuación según la aptitud que devuelva este error en su caso.
Aptitudes integradas de las herramientas de Foundry
Muchas de las aptitudes cognitivas integradas, como la detección de idioma, el reconocimiento de entidades o OCR, están respaldadas por un punto de conexión de la API de Foundry Tools. En ocasiones, hay problemas transitorios con estos puntos de conexión y se agota el tiempo de espera de la solicitud. En estos casos, la única solución es esperar y volver a intentarlo. Como mitigación, considere la posibilidad de establecer el indexador para que se ejecute según una programación. La indexación programada continúa desde donde se quedó. Suponiendo que se resuelvan los problemas transitorios, la indexación y el procesamiento de aptitudes cognitivas deben poder continuar en la siguiente ejecución programada.
Si sigue viendo este error en el mismo documento para una aptitud cognitiva integrada, registre una incidencia de soporte técnico para obtener ayuda, ya que no se espera.
Aptitudes personalizadas
Si se produce un error de tiempo de espera con una aptitud personalizada, puede probar un par de cosas. En primer lugar, revise la habilidad personalizada y asegúrese de que no se bloquea en un bucle infinito y de que devuelve un resultado consistentemente. Una vez que haya confirmado que se devuelve un resultado, compruebe la duración del proceso de ejecución. Si no estableció explícitamente un timeout valor en la definición de aptitud personalizada, el valor predeterminado timeout es de 30 segundos. Si 30 segundos no son suficientes para que se ejecute la habilidad, puede especificar un valor mayor timeout en la definición de su habilidad personalizada. Este es un ejemplo de una definición de aptitud personalizada en la que el tiempo de espera se establece en 90 segundos:
{
"@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"
}
]
}
El valor máximo que puede establecer para el timeout parámetro es de 230 segundos. Si su habilidad personalizada no se puede ejecutar de forma coherente en un plazo de 230 segundos, puede considerar la posibilidad de reducir el batchSize de su habilidad personalizada para que tenga menos documentos que procesar dentro de una sola ejecución. Si ya ha establecido su batchSize en 1, debe reescribir la habilidad para que pueda ejecutarse en menos de 230 segundos, o bien dividirla en varias habilidades personalizadas de modo que el tiempo de ejecución de cualquiera de ellas sea como máximo de 230 segundos. Revise la documentación de aptitudes personalizadas para obtener más información.
Error: Could not 'MergeOrUpload' | 'Delete' document to the search index
El documento se leyó y procesó, pero el indexador no pudo agregarlo al índice de búsqueda. Estos pueden ser los motivos:
| Motivo | Detalles y ejemplo | Resolución |
|---|---|---|
| Un campo contiene un término demasiado grande | Un término del documento es mayor que el límite de 32 KB | Puede evitar esta restricción asegurándose de que el campo no esté configurado como filtrable, facetable o ordenable. |
| El documento es demasiado grande para indexar | Un documento es mayor que el tamaño máximo de la solicitud de API. | Indexación de grandes conjuntos de datos |
| El documento contiene demasiados objetos en la colección | Una colección en su documento excede el límite de elementos máximos en todas las colecciones complejas. 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. |
Se recomienda reducir el tamaño de la colección compleja del documento por debajo del límite y evitar una alta utilización del almacenamiento. |
| Problemas para conectarse al índice de destino (que persiste después de los reintentos) porque el servicio está bajo otra carga, como la consulta o la indexación. | No se pudo establecer la conexión para actualizar el índice. El servicio de búsqueda está bajo mucha carga. | Escalar tu servicio de búsqueda |
| El servicio de búsqueda se está revisando para la actualización del servicio o está en medio de una reconfiguración de topología. | No se pudo establecer la conexión para actualizar el índice. El servicio de búsqueda está actualmente inactivo o el servicio de búsqueda está realizando una transición. | Configure el servicio con al menos tres réplicas para una disponibilidad del 99,9 % según se indica en la documentación del Acuerdo de Nivel de Servicio |
| Error en el recurso de proceso o red subyacente (poco frecuente) | No se pudo establecer la conexión para actualizar el índice. Error desconocido. | Establezca los indexadores en Ejecutar según una programación para que se recuperen de un estado de error. |
| No se reconoció una solicitud de indexación realizada al índice de destino en un período de tiempo de espera debido a problemas de red. | No se pudo establecer la conexión con el índice de búsqueda de forma oportuna. | Establezca los indexadores en Ejecutar según una programación para que se recuperen de un estado de error. Además, intente reducir el tamaño del lote del indexador si esta condición de error persiste. |
Error: Could not index document because some of the document's data was not valid
El indexador leyó y procesó el documento, pero debido a una falta de coincidencia en la configuración de los campos de índice y los datos extraídos y procesados por el indexador, no se pudo agregar al índice de búsqueda. Estos pueden ser los motivos:
| Motivo | Detalles y ejemplo |
|---|---|
| El tipo de datos de uno o varios campos extraídos por el indexador no es compatible con el modelo de datos del campo de índice de destino correspondiente. | 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)'. |
| No se pudo extraer ninguna entidad JSON de un valor de cadena. |
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.'
|
| No se pudo extraer una colección de entidades JSON de un valor de cadena. |
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.'
|
| Se detectó un tipo desconocido en el documento de origen. | Unknown type '_unknown_' cannot be indexed |
| Se usó una notación incompatible para los puntos de geografía en el documento de origen. | WKT POINT string literals are not supported. Use GeoJson point literals instead |
En todos estos casos, consulte Tipos de datos admitidos y asignación de tipos de datos para indexadores para asegurarse de compilar el esquema de índice correctamente y de haber configurado las asignaciones de campos del indexador adecuadas. El mensaje de error incluye detalles que pueden ayudar a realizar un seguimiento del origen de la falta de coincidencia.
Error: Integrated change tracking policy cannot be used because table has a composite primary key
Esto se aplica a las tablas SQL y suele ocurrir cuando la clave se define como una clave compuesta o, cuando la tabla ha definido un índice clúster único (como en un índice SQL, no como un índice de Azure Search). La razón principal es que el atributo de clave se modifica para que sea una clave principal compuesta en un índice clúster único. En ese caso, asegúrese de que la tabla SQL no tenga un índice clúster único o que asigne el campo de clave a un campo garantizado que no tenga valores duplicados.
Error: Could not process document within indexer max run time
Este error se produce cuando el indexador no puede terminar de procesar un único documento desde el origen de datos dentro del tiempo de ejecución permitido. El tiempo máximo de ejecución es más corto cuando se usan conjuntos de aptitudes. Cuando se produce este error, si tiene maxFailedItems establecido en un valor distinto de 0, el indexador omite el documento en ejecuciones futuras para que la indexación pueda avanzar. Si no puede permitirse omitir ningún documento o si ve este error de forma coherente, considere la posibilidad de dividir documentos en documentos más pequeños para que se pueda realizar un progreso parcial dentro de una sola ejecución del indexador.
Error: Could not project document
Este error se produce cuando el indexador intenta proyectar datos en un almacén de conocimiento y se produjo un error en el intento. Este error puede ser constante y necesitar corrección, o puede ser un error transitorio del receptor de salida de la proyección. En este último caso, puede que tenga que esperar y volver a intentarlo para que se resuelva. Este es un conjunto de estados de error conocidos y posibles resoluciones.
| Motivo | Detalles y ejemplo | Resolución |
|---|---|---|
No se pudo actualizar el blob de proyección 'blobUri' en el contenedor 'containerName' |
El contenedor especificado no existe. | El indexador comprueba si el contenedor especificado se ha creado previamente y lo creará si es necesario, pero solo realiza esta comprobación una vez por cada ejecución del indexador. Este error significa que algo eliminó el contenedor después de este paso. Para resolver este error, pruebe esto: deje solo la información de la cuenta de almacenamiento, espere a que finalice el indexador y vuelva a ejecutar el indexador. |
No se pudo actualizar el blob de proyección 'blobUri' en el contenedor 'containerName' |
No se pueden escribir datos en la conexión de transporte: el host remoto cerró forzadamente una conexión existente. | Esto se espera que sea un error transitorio con Azure Storage y, por tanto, se debe resolver mediante la rerución del indexador. Si se produce este error de forma constante, abra un ticket de soporte para que se pueda investigar más. |
No se pudo actualizar la fila 'projectionRow' de la tabla 'tableName' |
El servidor está ocupado. | Esto se espera que sea un error transitorio con Azure Storage y, por tanto, se debe resolver mediante la rerución del indexador. Si se produce este error de forma constante, abra un ticket de soporte para que se pueda investigar más. |
Error: The cognitive service for skill '<skill-name>' has been throttled
La ejecución de la habilidad falló porque la llamada a Foundry Tools se vio limitada. Normalmente, esta clase de error se produce cuando se ejecutan demasiadas aptitudes en paralelo. Si usa la biblioteca cliente Microsoft.Search.Documents para ejecutar el indexador, puede usar SearchIndexingBufferedSender para obtener el reintento automático en los pasos con errores. De lo contrario, puede restablecer y volver a ejecutar el indexador.
Error: Expected IndexAction metadata
Un error de "Metadatos de IndexAction esperados" significa que cuando el indexador intentó leer el documento para identificar qué acción se debe realizar, no encontró ningún metadato correspondiente en el documento. Normalmente, este error se produce cuando el indexador tiene una caché de anotaciones agregada o quitada sin restablecer el indexador. Para solucionar esto, debería restablecer y reejecutar el indexador.
Warning: Skill input was invalid
Falta una entrada de datos para la habilidad, tiene el tipo incorrecto o es inválida. Es posible que vea la siguiente información:
Could not execute skillSkill executed but may have unexpected results
Las aptitudes cognitivas tienen entradas necesarias y entradas opcionales. Por ejemplo, la aptitud de extracción de frases clave tiene dos entradas textnecesarias , languageCodey ninguna entrada opcional. Todas las entradas de aptitud personalizadas se consideran entradas opcionales.
Si faltan entradas necesarias o si la entrada no es del tipo correcto, se omite la aptitud y se genera una advertencia. Las aptitudes omitidas no generan salidas. Si las habilidades posteriores consumen los resultados de la habilidad omitida, pueden generar otras advertencias.
Si falta una entrada opcional, la aptitud todavía se ejecuta, pero podría producir una salida inesperada debido a la entrada que falta.
En ambos casos, esta advertencia se debe a la forma de sus datos. Por ejemplo, si tiene un documento que contiene información sobre las personas con los campos firstName, middleNamey lastName, es posible que tenga algunos documentos que no tengan una entrada para middleName. Si va a pasar middleName como una entrada a una aptitud de la canalización, se espera que falte algo de tiempo en esta entrada de aptitud. Debe evaluar los datos y el escenario para determinar si se requiere o no alguna acción como resultado de esta advertencia.
Si desea proporcionar un valor predeterminado para una entrada que falta, puede usar la aptitud condicional para generar un valor predeterminado y, a continuación, usar la salida de la aptitud condicional como entrada de aptitud.
{
"@odata.type": "#Microsoft.Skills.Util.ConditionalSkill",
"context": "/document",
"inputs": [
{ "name": "condition", "source": "= $(/document/language) == null" },
{ "name": "whenTrue", "source": "= 'en'" },
{ "name": "whenFalse", "source": "= $(/document/language)" }
],
"outputs": [ { "name": "output", "targetName": "languageWithDefault" } ]
}
| Motivo | Detalles y ejemplo | Resolución |
|---|---|---|
| La entrada de aptitud tiene un tipo incorrecto | La entrada de habilidad requerida no era del tipo esperado String. Nombre: text, Fuente: /document/merged_content. " "La entrada de habilidad requerida no tenía el formato esperado. Nombre: text, Origen: /document/merged_content. "No se puede iterar sobre un objeto no array /document/normalized_images/0/imageCelebrities/0/detail/celebrities." "No se puede seleccionar 0 en un objeto no array /document/normalized_images/0/imageCelebrities/0/detail/celebrities" |
Algunas funciones esperan entradas de tipos concretos, por ejemplo, la función Sentiment espera que text sea una cadena. Si la entrada especifica un valor que no es de cadena, la aptitud no se ejecuta y no genera ninguna salida. Asegúrese de que el conjunto de datos tiene valores de entrada uniformes en el tipo o use una aptitud de API web personalizada para preprocesar la entrada. Si va a iterar la aptitud en una matriz, revise que la entrada y el contexto de la aptitud tengan * en las posiciones correctas. Normalmente, tanto el contexto como el origen de entrada deben terminar con * para las matrices. |
| Falta la entrada de aptitud |
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 se produce esta advertencia para todos los documentos, podría haber un error tipográfico en las rutas de acceso de entrada. Compruebe el uso de mayúsculas y minúsculas en el nombre de la propiedad. Busque si hay un carácter * extra o que falta en la ruta de acceso. Compruebe que los documentos del origen de datos proporcionan las entradas necesarias. |
| La entrada de código de idioma de aptitud no es válida | La entrada languageCode de aptitud tiene los siguientes códigos X,Y,Zde idioma, al menos uno de los cuales no es válido. |
Consulte más detalles a continuación. |
Warning: Skill input 'languageCode' has the following language codes 'X,Y,Z', at least one of which is invalid.
Uno o varios de los valores que pasan a la entrada languageCode opcional de una aptitud de nivel inferior no se admiten. Esto puede ocurrir si va a pasar la salida de LanguageDetectionSkill a aptitudes posteriores y la salida consta de más idiomas de los que se admiten en esas aptitudes de nivel inferior.
Tenga en cuenta que también puede obtener una advertencia similar a esta si se pasa una entrada no válida countryHint a LanguageDetectionSkill. Si esto sucede, valide que el campo que usa del origen de datos para esa entrada contenga códigos de país alfa-2 válidos según la norma ISO 3166-1. Si algunos son válidos y e inválidos, continúe con las instrucciones siguientes, pero reemplace languageCode con countryHint y defaultLanguageCode con defaultCountryHint para que coincidan con su caso de uso.
Si sabe que el conjunto de datos solo tiene un idioma, debe quitar el elemento LanguageDetectionSkill y la entrada de aptitud languageCode y usar en cambio el parámetro de aptitud defaultLanguageCode para esa aptitud, suponiendo que el idioma sea compatible con ella.
Si sabe que el conjunto de datos contiene varios idiomas y, por tanto, necesita el elemento LanguageDetectionSkill y la entrada languageCode, considere agregar un elemento ConditionalSkill para filtrar el texto con los idiomas que no se admiten antes de pasar el texto a la aptitud de nivel inferior. Este es un ejemplo de lo que podría tener este aspecto para 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" } ]
}
Estas son algunas referencias para los idiomas admitidos actualmente para cada una de las aptitudes que pueden generar este mensaje de error:
- Idiomas admitidos en EntityRecognitionSkill
- Idiomas compatibles con EntityLinkingSkill
- Idiomas compatibles con KeyPhraseExtractionSkill
- Idiomas admitidos en LanguageDetectionSkill
- Idiomas compatibles con PIIDetectionSkill
- Idiomas admitidos por SentimentSkill
- Idiomas admitidos por Translator
- Idiomas admitidos por Text SplitSkill:
da, de, en, es, fi, fr, it, ko, pt
Warning: Skill input was truncated
Las aptitudes cognitivas limitan la longitud del texto que se puede analizar al mismo tiempo. Si la entrada de texto supera el límite, el texto se trunca antes de ser enriquecido. La aptitud se ejecuta, pero no sobre todos los datos.
En el ejemplo LanguageDetectionSkill siguiente, el 'text' campo de entrada podría desencadenar esta advertencia si la entrada supera el límite de caracteres. Los límites de entrada se pueden encontrar en la documentación de referencia de aptitudes.
{
"@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill",
"inputs": [
{
"name": "text",
"source": "/document/text"
}
],
"outputs": [...]
}
Si desea asegurarse de que se analiza todo el texto, considere la posibilidad de usar la aptitud Dividir.
Warning: Web API skill response contains warnings
El indexador ha ejecutado la aptitud del conjunto de aptitudes, pero la respuesta de la solicitud de API web indica que hay advertencias. Revise las advertencias para comprender cómo se ven afectados los datos y si es necesario realizar más acciones.
Warning: The current indexer configuration does not support incremental progress
Esta advertencia solo se produce para orígenes de datos de Azure Cosmos DB.
El progreso incremental durante la indexación garantiza que si la ejecución del indexador se interrumpe por errores transitorios o límite de tiempo de ejecución, el indexador puede recoger dónde se dejó la próxima vez que se ejecute, en lugar de tener que volver a indexar toda la colección desde cero. Esto es especialmente importante al indexar colecciones grandes.
La capacidad de reanudar un trabajo de indexación sin terminar se basa en tener documentos ordenados por la _ts columna. El indexador usa la marca de tiempo para determinar qué documento se va a seleccionar a continuación. Si falta la _ts columna o si el indexador no puede determinar si una consulta personalizada está ordenada por ella, el indexador comienza al principio y verá esta advertencia.
Es posible invalidar este comportamiento, lo que permite el progreso incremental y suprime esta advertencia mediante la assumeOrderByHighWaterMarkColumn propiedad de configuración.
Para obtener más información, consulte Progreso incremental y consultas personalizadas.
Warning: Some data was lost during projection. Row 'X' in table 'Y' has string property 'Z' which was too long.
El servicio Table Storage tiene límites en el tamaño que pueden tener las propiedades de entidad. Las cadenas pueden tener 32 000 caracteres o menos. Si se proyecta una fila con una propiedad de cadena de más de 32 000 caracteres, solo se conservan los primeros 32 000 caracteres. Para solucionar este problema, evite proyectar filas con propiedades de cadena de más de 32 000 caracteres.
Warning: Truncated extracted text to X characters
Los indexadores limitan la cantidad de texto que se puede extraer de cualquier documento. Este límite depende del plan de tarifa: 32 000 caracteres para el nivel Gratis, 64 000 para Básico, 4 millones para Standard, 8 millones para Standard S2 y 16 millones para Standard S3. El texto truncado no se indexará. Para evitar esta advertencia, intente dividir documentos con grandes cantidades de texto en varios documentos más pequeños.
Para obtener más información, consulte Límites del indexador.
Warning: Could not map output field 'X' to search index
Las asignaciones de campos de salida que hacen referencia a datos no existentes o null producirán advertencias para cada documento y darán como resultado un campo de índice vacío. Para solucionar este problema, compruebe las rutas de acceso de origen de la asignación de campos de salida en busca de posibles errores tipográficos o establezca un valor predeterminado mediante la aptitud condicional. Consulte Asignación de campos de salida para obtener más información.
| Motivo | Detalles y ejemplo | Resolución |
|---|---|---|
| No se puede iterar en una matriz | "No se puede iterar en el elemento /document/normalized_images/0/imageCelebrities/0/detail/celebrities, que no es una matriz". |
Este error se produce cuando la salida no es una matriz. Si cree que la salida debe ser una matriz, compruebe la ruta de acceso del campo de origen de salida indicada para ver si hay errores. Por ejemplo, es posible que tenga un elemento * adicional o ausente en el nombre del campo de origen. También es posible que la entrada a esta aptitud sea nula, lo que da lugar a una matriz vacía. Busque detalles similares en la sección Entrada de habilidad no válida. |
No se puede seleccionar 0 en un elemento que no sea una matriz |
"No se puede seleccionar 0 en un elemento que no es una matriz /document/pages." |
Esto puede ocurrir si la salida de las aptitudes no produce una matriz y el nombre del campo de origen de salida tiene un índice de matriz o * en su ruta de acceso. Compruebe las rutas de acceso proporcionadas en los nombres del campo de origen de salida y en el valor de campo del nombre de campo indicado. Busque detalles similares en la sección Entrada de habilidad no válida. |
Warning: The data change detection policy is configured to use key column 'X'
Las directivas de detección de cambios de datos tienen requisitos específicos para las columnas que usan para detectar cambios. Uno de estos requisitos es que esta columna se actualiza cada vez que se cambia el elemento de origen. Otro requisito es que el nuevo valor de esta columna sea mayor que el valor anterior. Las columnas de clave no cumplen este requisito porque no cambian en todas las actualizaciones. Para solucionar este problema, seleccione una columna diferente para la directiva de detección de cambios.
Warning: Document text appears to be UTF-16 encoded, but is missing a byte order mark
Los modos de análisis del indexador deben saber cómo se codifica el texto antes de analizarlo. Las dos formas más comunes de codificar texto son UTF-16 y UTF-8. UTF-8 es una codificación de longitud variable donde cada carácter está comprendido entre 1 byte y 4 bytes de longitud. UTF-16 es una codificación de longitud fija donde cada carácter tiene 2 bytes de longitud. UTF-16 tiene dos variantes diferentes, big endian y little endian. La codificación de texto se determina por byte order mark, una serie de bytes antes del texto.
| Encoding | Marca de orden de bytes |
|---|---|
| UTF-16 Big Endian | 0xFE 0xFF |
| UTF-16 Little Endian | 0xFF 0xFE |
| UTF-8 | 0xEF 0xBB 0xBF |
Si no hay ninguna marca de orden de bytes presente, se supone que el texto se codifica como UTF-8.
Para solucionar esta advertencia, determine cuál es la codificación de texto para este blob y agregue la marca de orden de bytes adecuada.
Warning: Azure Cosmos DB collection 'X' has a Lazy indexing policy. Some data may be lost
Las colecciones con directivas de indexación Lazy no se pueden consultar de forma coherente, lo que resulta en que el indexador pierda datos. Para solucionar esta advertencia, cambie la directiva de indexación a Coherente.
Warning: The document contains very long words (longer than 64 characters). These words may result in truncated and/or unreliable model predictions.
Esta advertencia se envía desde el servicio de idiomas de Foundry Tools. En algunos casos, es seguro omitir esta advertencia, por ejemplo, si la cadena larga es solo una dirección URL larga. Tenga en cuenta que cuando una palabra tiene más de 64 caracteres, se trunca a 64 caracteres que pueden afectar a las predicciones del modelo.
Error: Cannot write more bytes to the buffer than the configured maximum buffer size
Los indexadores tienen límites de tamaño de documento. Asegúrese de que los documentos del origen de datos sean más pequeños que el límite de tamaño admitido, tal como se documenta para el nivel de servicio.
Error: Failed to compare value 'X' of type M to value 'Y' of type N.
Este error suele producirse en los indexadores de Azure SQL cuando el tipo de columna de origen usado para dataChangeDetectionPolicy no coincide con lo que espera el indexador, especialmente si convertHighWaterMarkToRowVersion está activado.
Por ejemplo, si la columna usada para la detección de cambios es de tipo datetime, pero el indexador espera un tipo rowversion porque convertHighWaterMarkToRowVersion está habilitado, la falta de coincidencia provocará un error.
Compruebe el tipo de datos de la columna "Umbral máximo" en el origen y actualice la configuración del indexador según sea necesario. Una vez comprobado y actualizado, restablezca y vuelva a ejecutar el indexador para procesar los valores de columna.
Error: Access denied to Virtual Network/Firewall rules.
Este error suele producirse debido a una de las siguientes acciones:
- Restricciones de firewall en los recursos de Azure requeridos por el indexador, en función de la configuración. Estos recursos pueden incluir: el origen de datos, la cuenta de Azure Storage (que se usa para las sesiones de depuración, el enriquecimiento incremental o el almacén de conocimiento), la función de Azure (que se usa para las aptitudes personalizadas de api web) o las implementaciones de Microsoft Foundry que se usan durante el enriquecimiento con IA.
- Configuraciones de punto de conexión privado que bloquean el acceso desde el indexador a esos recursos.
Asegúrese de que el indexador tiene acceso a los componentes de configuración revisando las configuraciones de recursos para confirmar que permiten el tráfico a todos los servicios necesarios:
Error: Credentials provided in the connection string are invalid or have expired.
Este error se produce cuando el indexador de Azure AI Search no se puede autenticar mediante la cadena de conexión proporcionada o tiene problemas para acceder a la cuenta de almacenamiento para comprobar las credenciales.
| Causa posible | Detalles y ejemplo | Resolución |
|---|---|---|
| Clave expirada o rotada | Una cadena de conexión contiene una clave obsoleta que ya no funciona. | Vaya al recurso al que se está contactando (por ejemplo, Azure Storage o Azure SQL) y copie las claves de acceso más recientes si usa la autenticación basada en claves y actualice el origen de datos o la cadena de conexión en consecuencia. |
| Identidad administrada no habilitada o acceso no concedido | La identidad administrada del servicio AI Search está habilitada, pero carece de los roles de acceso necesarios. | - Habilite la identidad administrada asignada por el usuario o del sistema en el servicio de búsqueda. Asigne los roles adecuados a la identidad (por ejemplo, Storage Blob Data Reader para contenedores de blobs). Cada origen de datos tiene sus propios requisitos de permisos. |
| El firewall o la red bloquea el acceso a la identidad | El recurso contactado está configurado para restringir el acceso a la red. | Configure las opciones de red para permitir el acceso a Azure AI Search. |
| Se ha deshabilitado la autorización de claves | Se ha quitado el acceso a claves compartidas en el origen, pero la configuración del origen de datos del servicio search sigue usando la autenticación basada en claves. | Use la autenticación de identidad administrada y asegúrese de que los permisos basados en roles están en vigor. Desde una perspectiva de Azure Storage, esto significa que la funcionalidad de autorización de clave compartida está bloqueada, ya sea desde la propia cuenta de almacenamiento o aplicada a través de directivas de Azure de nivel empresarial. |