Solución de errores y advertencias comunes con el indexador en Azure AI Search
En este artículo se proporciona información y soluciones a errores y advertencias comunes que pueden surgir durante la indexación y el enriquecimiento de IA en Azure AI Search.
La indexación se detiene cuando el recuento de errores supera "maxfaileditems".
Si desea que los indexadores omitan estos errores (y omitan los "documentos con errores"), considere la posibilidad de actualizar maxFailedItems
y maxFailedItemsPerBatch
como se describe aquí.
Nota:
Cada documento con error junto con su clave de documento (si está disponible) se mostrará como un error en el estado de ejecución del indexador. Puede utilizar la API de índice para cargar manualmente los documentos en un momento posterior si ha configurado el indexador para tolerar errores.
La información de error de este artículo pueden ayudarle a resolver errores, de forma que la indexación continúe.
Las advertencias no detienen la indexación, sino que indican las condiciones que pueden dar lugar a resultados inesperados. Que realice o no una acción depende de los datos y del escenario.
¿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 Indexadores de administración>de búsqueda 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 errores
Propiedad | Descripción | Ejemplo |
---|---|---|
Llave | 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. 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 |
Mensaje | Descripción de alto nivel del error o la 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
El indexador no pudo leer el documento del origen de datos. Estos pueden ser los motivos:
Motivo | Detalles/ejemplo | Solució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 los distintos documentos. Por ejemplo, si el campo 'startTime' del primer documento es DateTime y el del segundo documento es una cadena, se muestra este error. |
Errores del servicio subyacente del origen de datos | De Azure Cosmos DB: {"Errors":["Request rate is large"]} |
Compruebe la instancia de almacenamiento para asegurarse de que es correcta. 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 mediante el indexador más adelante. |
Error: Could not extract content or metadata from your document
El indexador con un origen de datos de blob no pudo extraer el contenido o los metadatos del documento (por ejemplo, un archivo PDF). Estos pueden ser los motivos:
Motivo | Detalles/ejemplo | Solució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 de 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 mediante el indexador más adelante. |
Error: Could not parse document
El indexador leyó el documento desde el 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/ejemplo | Solución |
---|---|---|
Falta la clave del documento. | Document key cannot be missing or empty |
Asegúrese de que todos los documentos tengan claves de documento válidas. La clave del documento se determina estableciendo la propiedad "key" como parte de la definición del índice. Los indizadores emiten este error cuando la propiedad marcada como "key" no se encuentra en un documento concreto. |
La clave del 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 tengan 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 del documento no es válida | Document key cannot be longer than 1024 characters |
Modifique la clave del documento para que cumpla 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 |
Compruebe las asignaciones de campos definidas en el indexador y compárelas con los datos del campo especificado del documento con errores. Puede 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.) |
Normalmente, estos errores se deben a problemas de conectividad inesperados con el servicio subyacente del origen de datos. Intente volver a ejecutar el documento mediante el 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, si se aplica la función de asignación Base64Encode
en datos binarios, se 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 es 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/ejemplo | Solución |
---|---|---|
Problemas de conectividad transitorios | Se produjo un error transitorio. Vuelva a intentarlo más tarde. | En ocasiones, hay problemas de conectividad inesperados. Intente volver a ejecutar el documento mediante el indexador más adelante. |
Posible error del producto | Se ha producido un error inesperado. | Esto indica una clase desconocida de error y puede indicar un error del producto. Registre una incidencia de soporte técnico para obtener ayuda. |
Una aptitud detectó 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 solucionar el problema. Este tipo de error requiere que se resuelva la acción. |
Error: Could not execute skill because the Web API request failed
Error al ejecutar la aptitud porque no se pudo realizar la llamada a la API web. Por lo general, esta clase de error se produce cuando se usan aptitudes personalizadas, en cuyo caso necesita depurar el código personalizado para resolver el problema. Por el contrario, si el error proviene de una aptitud integrada, consulte el mensaje de error para saber cómo 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. Puede que el punto de conexión de la API web no funcione porque el indizador está pasándole una entrada inesperada.
Error: Could not execute skill because Web API skill response is invalid
No se pudo ejecutar la aptitud porque la llamada a la API web devolvió una respuesta no válida. Por lo general, esta clase de error se produce cuando se usan aptitudes personalizadas, en cuyo caso necesita depurar el código personalizado para resolver el problema. Por el contrario, si el error proviene de una aptitud integrada, registre una incidencia de soporte técnico 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 está intentando asignar en el índice, es posible que encuentre 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 puede encontrarse con 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 los servicios de Azure AI
Muchas de las aptitudes cognitivas integradas, como la detección del idioma, el reconocimiento de entidades o el método OCR, están respaldadas por un punto de conexión de API de servicios de Azure AI. 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 medida de mitigación, podría configurar un indexador para que se ejecute según una programación. La indexación programada reanuda el proceso donde se detuvo. Suponiendo que se resuelvan los problemas transitorios, la indexación y el procesamiento de aptitudes cognitivas podrán 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 aptitud personalizada y asegúrese de que no se quede atascada en un bucle infinito y de que devuelva un resultado coherente. Una vez que haya confirmado que se devuelve un resultado, compruebe la duración de la ejecución. Si no estableció explícitamente un valor timeout
en la definición de aptitud personalizada, el valor timeout
predeterminado es 30 segundos. Si 30 segundos no es un tiempo lo bastante largo para que se ejecute la aptitud, puede especificar un valor de timeout
superior en la definición de aptitud 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 parámetro timeout
es de 230 segundos. Si su aptitud personalizada no se puede ejecutar de forma coherente en 230 segundos, considere la posibilidad de reducir el valor de batchSize
de su aptitud personalizada para que tenga menos documentos que procesar en una sola ejecución. Si ya ha establecido batchSize
en 1, tendrá que volver a escribir la aptitud para que se pueda ejecutar en menos de 230 segundos; también puede dividirla en varias aptitudes personalizadas para que el tiempo de ejecución de cualquiera de ellas sea como máximo 230 segundos. Para más información, revise la documentación de las aptitudes personalizadas.
Error: Could not 'MergeOrUpload' | 'Delete' document to the search index
El documento se leyó y se procesó, pero el indizador no pudo agregarlo al índice de búsqueda. Estos pueden ser los motivos:
Motivo | Detalles/ejemplo | Solución |
---|---|---|
Un campo contiene un término demasiado grande | Un término del documento es mayor que el límite de 32 KB | Para evitar esta restricción, asegúrese de que el campo no está configurado como filtrable, clasificable u ordenable. |
El documento es demasiado grande para indexarlo | Un documento es mayor que el tamaño de solicitud de API máximo | Indexación de grandes conjuntos de datos |
El documento contiene demasiados objetos en la colección | Una colección del documento supera el número máximo de elementos en el límite de 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 en el documento para bajar el límite y evitar un uso elevado del almacenamiento. |
Problemas de conexión con el índice de destino (que persiste después de varios reintentos) porque el servicio está bajo otra carga, como consulta o indexación. | No se puede establecer la conexión para actualizar el índice. El servicio de búsqueda está sometido a mucha carga. | Escalar verticalmente el 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 la topología. | No se puede establecer la conexión para actualizar el índice. El servicio de búsqueda está inactivo o está experimentando 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 de red subyacente (poco frecuente) | No se puede establecer la conexión para actualizar el índice. Se produjo un error desconocido. | Establezca los indexadores en Ejecutar según una programación para que se recuperen de un estado de error. |
Una solicitud de indexación realizada al índice de destino no se confirmó 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 índice si esta condición de error persiste. |
Error: Could not index document because some of the document's data was not valid
El indizador leyó y procesó el documento, pero debido a un error de coincidencia en la configuración de los campos del í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/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)'. |
Error al extraer una 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.' |
Error al 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 no compatible para los puntos geográficos 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 correctamente el esquema de índice y de haber configurado las asignaciones de campos de indexador adecuadas. El mensaje de error incluye detalles que pueden ayudar a realizar un seguimiento del origen del error de coincidencia.
Error: Integrated change tracking policy cannot be used because table has a composite primary key
Esto se aplica a tablas SQL y suele ocurrir cuando la clave se define como una clave compuesta o cuando la tabla ha definido un índice agrupado único (como en un índice de SQL, no un índice de Azure Search). La razón principal es que el atributo clave se ha modificado para que sea una clave principal compuesta en un índice agrupado único. En ese caso, asegúrese de que la tabla SQL no tenga un índice agrupado único o de que asigna el campo de clave a un campo del que se garantiza que no tiene valores duplicados.
Error: Could not process document within indexer max run time
Este error se produce cuando el indexador no puede finalizar el procesamiento de un único documento desde el origen de datos en el tiempo de ejecución permitido. El tiempo de ejecución máximo 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 futuras ejecuciones para que la indexación pueda continuar. Si no puede permitirse omitir ningún documento, o si ve este error sistemáticamente, podría dividir los documentos en otros más pequeños para que se pueda avanzar parcialmente dentro de una única ejecución del indizador.
Error: Could not project document
Este error se produce cuando el indexador está intentando proyectar datos en un almacén de conocimiento y se genera un error al hacerlo. 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. A continuación, se muestra un conjunto de estados de error conocidos y posibles soluciones.
Motivo | Detalles/ejemplo | Solución |
---|---|---|
No se pudo actualizar el blob 'blobUri' de proyección 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 realizará esta comprobación una vez por cada ejecución de indizador. 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 ejecutarlo. |
No se pudo actualizar el blob 'blobUri' de proyección en el contenedor 'containerName' |
No se pueden escribir los datos en la conexión de transporte: El host remoto forzó el cierre de la conexión existente. | Se considera que este es un error transitorio con Azure Storage y que, por tanto, para resolverlo debe volver a ejecutar el indexador. Si se produce este error de forma constante, registre una incidencia de soporte técnico para que se pueda investigar en profundidad. |
No se pudo actualizar la fila 'projectionRow' de la tabla 'tableName' |
El servidor está ocupado. | Se considera que este es un error transitorio con Azure Storage y que, por tanto, para resolverlo debe volver a ejecutar el indexador. Si se produce este error de forma constante, registre una incidencia de soporte técnico para que se pueda investigar en profundidad. |
Error: The cognitive service for skill '<skill-name>' has been throttled
Error al ejecutar la aptitud porque la llamada a servicios de Azure AI se ha limitado. 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 lograr un reintento automático de 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 se agrega o quita una caché de anotaciones al indexador sin restablecerlo. Para solucionar este problema, debe restablecer y volver a ejecutar el indexador.
Warning: Skill input was invalid
Faltaba una entrada para la aptitud, tenía el tipo incorrecto o bien no era válida. Es posible que vea la siguiente información:
Could not execute skill
Skill executed but may have unexpected results
Las aptitudes cognitivas tienen entradas obligatorias y entradas opcionales. Por ejemplo, la aptitud de extracción de frases clave tiene dos entradas obligatorias text
, languageCode
, y no tienen ninguna entrada opcional. Las entradas de aptitudes 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 aptitudes de nivel inferior consumen las salidas de la aptitud omitida, pueden generar advertencias adicionales.
Si falta una entrada opcional, la aptitud sigue ejecutándose, pero puede producir una salida inesperada debido a que falta la entrada.
En ambos casos, esta advertencia se debe a la forma de los datos. Por ejemplo, si tiene un documento que contiene información sobre personas con los campos firstName
, middleName
y lastName
, es posible que tenga algunos documentos que no incluyan 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 alguna acción como resultado de esta advertencia.
Si quiere proporcionar un valor predeterminado para una entrada omitida, puede usar la aptitud condicional para generar un valor predeterminado y luego usar la salida de la aptitud condicional como la entrada de la 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/ejemplo | Solución |
---|---|---|
La entrada de aptitud tiene un tipo incorrecto | "La entrada de aptitud obligatoria 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 en una no /document/normalized_images/0/imageCelebrities/0/detail/celebrities matriz". "No se puede seleccionar 0 en una no /document/normalized_images/0/imageCelebrities/0/detail/celebrities matriz" |
Ciertas aptitudes esperan entradas de tipos determinados, por ejemplo, la aptitud Opinión 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 con un tipo uniforme, o bien use una aptitud API web personalizada para procesar previamente 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. Por lo general, tanto el contexto como el origen de entrada deben finalizar 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, puede que haya 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 requeridas. |
La entrada de código de idioma de aptitud no es válida | La entrada de aptitud languageCode tiene los códigos de idioma siguientes X,Y,Z , uno de los cuales es al menos no válido. |
Vea 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. Esta situación puede darse si se pasa 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 recibir una advertencia similar a la siguiente si una entrada no válida countryHint
se pasa a LanguageDetectionSkill. Si esto ocurre, compruebe que el campo que usa del origen de datos con esa entrada contiene códigos de país alfabéticos de dos letras ISO 3166-1. Si algunos son válidos y otros no, continúe con las siguientes instrucciones, pero reemplace languageCode
por countryHint
y defaultLanguageCode
por 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 cuál podría ser el aspecto del elemento 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 de los idiomas admitidos actualmente en cada una de las aptitudes que pueden producir este mensaje de error:
- Idiomas compatibles con EntityRecognitionSkill
- Idiomas compatibles con EntityLinkingSkill
- Idiomas compatibles con KeyPhraseExtractionSkill
- Idiomas compatibles con LanguageDetectionSkill
- Idiomas compatibles con PIIDetectionSkill
- Idiomas compatibles con SentimentSkill
- Idiomas compatibles con Translator
- Idiomas compatibles con 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 de una vez. Si la entrada de texto supera el límite, el texto se trunca antes de enriquecerse. La aptitud se ejecuta, pero no sobre todos los datos.
En el ejemplo LanguageDetectionSkill
que se indica a continuación, el campo de entrada 'text'
puede desencadenar esta advertencia si la entrada está por encima del límite de caracteres. Los límites de entrada pueden encontrarse en la documentación de referencia de las aptitudes.
{
"@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill",
"inputs": [
{
"name": "text",
"source": "/document/text"
}
],
"outputs": [...]
}
Si quiere asegurarse de que se analice todo el texto, considere la posibilidad de usar la aptitud dividida.
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 entender cómo se ven afectados los datos y si es o no necesario realizar acciones adicionales.
Warning: The current indexer configuration does not support incremental progress
Esta advertencia solo se produce para los orígenes de datos de Azure Cosmos DB.
El progreso incremental durante la indexación garantiza que si se interrumpe la ejecución del indexador por errores transitorios o por el límite de tiempo de ejecución, dicho indexador puede retomar la ejecución por donde la dejó la próxima vez que se ejecute, en lugar de tener que volver a indexar toda la colección desde el principio. Esto es especialmente importante cuando se indexan colecciones grandes.
La capacidad de reanudar un trabajo de indexación sin terminar se basa en tener documentos ordenados por la columna de _ts
. El indexador usa la marca de tiempo para determinar qué documento se debe seleccionar a continuación. Si falta la columna de _ts
o si el indexador no puede determinar si se ha ordenado una consulta personalizada, el indexador comienza al principio y usted verá esta advertencia.
Se puede invalidar este comportamiento, habilitar el progreso incremental y suprimir esta advertencia si usa la propiedad de configuración assumeOrderByHighWaterMarkColumn
.
Para 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 de Table Storage tiene límites en cuanto a qué tan grandes pueden ser las propiedades de las entidades. Las cadenas pueden tener 32.000 caracteres como máximo. Si una fila con una propiedad de cadena de más de 32.000 caracteres se está proyectando, solo se conservan los primeros 32.000 caracteres. Para evitar 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 Estándar, 8 millones para Estándar S2 y 16 millones para Estándar S3. El texto que se ha truncado no se indexará. Para evitar esta advertencia, intente dividir los documentos con grandes cantidades de texto en varios documentos más pequeños.
Para más información, consulte Límites de índice.
Warning: Could not map output field 'X' to search index
Las asignaciones de campos de salida que hagan referencia a datos inexistentes o nulos generarán advertencias con cada documento y producirán 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/ejemplo | Solució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 es una matriz, compruebe si hay errores en la ruta de acceso del campo de origen de salida indicada. 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 NULL, lo que da lugar a una matriz vacía. Busque detalles similares en la sección La entrada de aptitudes no es 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 sea 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 La entrada de aptitudes no es 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 actualice 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 cada actualización. 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 necesitan 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 en la que cada carácter tiene entre 1 byte y 4 bytes de longitud. UTF-16 es una codificación de longitud fija en la que cada carácter tiene una longitud de 2 bytes. UTF-16 tiene dos variantes diferentes, big endian
y little endian
. La codificación de texto viene determinada por una byte order mark
, una serie de bytes antes del texto.
Encoding | Marca BOM |
---|---|
UTF-16 Big Endian | 0xFE 0xFF |
UTF-16 Little Endian | 0xFF 0xFE |
UTF-8 | 0xEF 0xBB 0xBF |
Si no está presente ninguna marca BOM, se asume que el texto está codificado como UTF-8.
Para solucionar esta advertencia, determine cuál es la codificación de texto para este blob y agregue la marca BOM adecuada.
Warning: Azure Cosmos DB collection 'X' has a Lazy indexing policy. Some data may be lost
Las colecciones con directivas de indexación diferida no se pueden consultar de forma coherente, lo que hace que su indizador pierda datos. Para evitar esta advertencia, cambie su 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 pasa desde el servicio de lenguaje de los servicios de Azure AI. 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, lo que pueden afectar a las predicciones del modelo.
Error: Cannot write more bytes to the buffer than the configured maximum buffer size
Los indizadores tienen límites de tamaño de documento. Asegúrese de que los documentos del origen de datos sean menores que el límite de tamaño admitido, tal como se documenta para el nivel del servicio.