Solucionando erros e avisos comuns do indexador na IA do Azure Search

Este artigo fornece informações e soluções para erros comuns e avisos que você pode encontrar durante a indexação e o enriquecimento de IA na IA do Azure Search.

A indexação é interrompida quando a contagem de erros excede 'maxFailedItems'.

Se você quiser que os indexadores ignorem esses erros (e pulem os "documentos com falha"), atualize maxFailedItems e maxFailedItemsPerBatch conforme descrito aqui.

Observação

Cada documento com falha e sua chave de documento (quando disponível) será exibido como um erro no status de execução do indexador. Se tiver definido o indexador para tolerar falhas, será possível utilizar a API de índice para carregar manualmente os documentos posteriormente.

As informações de erro neste artigo podem ajudar a resolver erros, permitindo que a indexação continue.

Os avisos não param a indexação, mas indicam condições que podem trazer resultados inesperados. Realizar uma ação ou não depende dos dados e do seu cenário.

Onde é possível encontrar erros específicos do indexador?

Para verificar o status de um indexador e identificar erros no portal do Azure, siga as etapas abaixo:

  1. Navegue até o portal do Azure e localize seu serviço Pesquisa de IA.
  2. Uma vez no serviço Pesquisa de IA, clique na guia "Indexadores".
  3. Na lista de indexadores, identifique o indexador específico que você deseja verificar.
  4. Na coluna "Histórico de Execução", clique no hiperlink "Status" associado ao indexador selecionado.
  5. Se houver um erro, passe o mouse sobre a mensagem de erro. Um painel será exibido no lado direito da tela mostrando informações detalhadas sobre o erro.

Erros transitórios

Por vários motivos, como interrupções transitórias de comunicação de rede, tempos limite de processos de longa execução ou nuances de documentos específicos, é comum encontrar erros transitórios ou avisos durante as execuções do indexador. No entanto, esses erros são temporários e devem ser resolvidos em execuções posteriores do indexador.

Para gerenciar esses erros com eficácia, é recomendável colocar o indexador em um agendamento, por exemplo, para ser executado a cada cinco minutos. Isso significa que a próxima execução começará cinco minutos após a conclusão da primeira, aderindo ao limite máximo de runtime. Execuções agendadas regularmente ajudam a corrigir erros transitórios ou avisos com rapidez.

Se você observar um erro persistindo em várias execuções de indexador, provavelmente não é um problema transitório. Nesses casos, consulte a lista abaixo para obter possíveis soluções. Sempre verifique se o agendamento de indexação está alinhado com as limitações descritas em nosso guia de limites do indexador.

Propriedades de erro

A partir da versão da API 2019-05-06, os erros e avisos do indexador em nível de item são estruturados para fornecer maior clareza em relação às causas e às próximas etapas. Eles contêm as seguintes propriedades:

Propriedade Descrição Exemplo
Chave A ID do documento impactado pelo erro ou aviso. https://<storageaccount>.blob.core.windows.net/jfk-1k/docid-32112954.pdf
Nome O nome da operação que descreve onde ocorreu o erro ou o aviso. Isso é gerado pela seguinte estrutura: [category].[subcategory].[resourceType].[resourceName] DocumentExtraction.azureblob.myBlobContainerName Enrichment.WebApiSkill.mySkillName Projection.SearchIndex.OutputFieldMapping.myOutputFieldName Projection.SearchIndex.MergeOrUpload.myIndexName Projection.KnowledgeStore.Table.myTableName
Message Uma descrição de alto nível de erro ou aviso. Could not execute skill because the Web Api request failed.
Detalhes Informações específicas que podem ser úteis para diagnosticar o problema, como a resposta WebApi, se a execução de uma habilidade personalizada falhar. 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 Um link para a documentação relevante, com informações detalhadas para depurar e resolver o problema. Esse link geralmente apontará para uma das seções abaixo nesta página. https://go.microsoft.com/fwlink/?linkid=2106475

Error: Could not read document

O indexador não pôde ler o documento a partir da fonte de dados. Isso pode ocorrer devido a:

Motivo Detalhes/exemplo Resolução
Tipos de campo inconsistentes em diferentes 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. Verifique se o tipo de cada campo é o mesmo em documentos diferentes. Por exemplo, se o primeiro campo de documento 'startTime' for um DateTime e, no segundo documento, for uma cadeia de caracteres, ocorre este erro.
Erros do serviço subjacente da fonte de dados Do Azure Cosmos DB: {"Errors":["Request rate is large"]} Verifique a integridade de sua instância de armazenamento. Talvez seja necessário ajustar a escala ou o particionamento.
Problemas temporários 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 Ocasionalmente, há problemas de conectividade inesperados. Tente executar o documento por meio do indexador novamente mais tarde.

Error: Could not extract content or metadata from your document

O indexador com uma fonte de dados de Blob não pôde extrair o conteúdo ou os metadados do documento (por exemplo, um arquivo PDF). Isso pode ocorrer devido a:

Motivo Detalhes/exemplo Resolução
O blob está acima do limite de tamanho Document is '150441598' bytes, which exceeds the maximum size '134217728' bytes for document extraction for your current service tier. Erros de indexação de blob
O blob tem um tipo de conteúdo incompatível Document has unsupported content type 'image/png' Erros de indexação de blob
O blob está criptografado Document could not be processed - it may be encrypted or password protected. Você pode ignorar o blob nas configurações de blob.
Problemas temporários Error processing blob: The request was aborted: The request was canceled. Document timed out during processing. Ocasionalmente, há problemas de conectividade inesperados. Tente executar o documento por meio do indexador novamente mais tarde.

Error: Could not parse document

O indexador leu o documento da fonte de dados, mas houve um problema ao converter o conteúdo do documento no esquema de mapeamento de campo especificado. Isso pode ocorrer devido a:

Motivo Detalhes/exemplo Resolução
A chave do documento está ausente Document key cannot be missing or empty Verifique se todos os documentos têm chaves de documento válidas. A chave do documento é determinada pela definição da propriedade 'chave' como parte da definição do índice. Os indexadores emitem esse erro quando a propriedade sinalizada como 'chave' não puder ser encontrada em um documento específico.
A chave do documento é inválida Invalid document key. Keys can only contain letters, digits, underscore (_), dash (-), or equal sign (=). Verifique se todos os documentos têm chaves de documento válidas. Examine Indexação do Armazenamento de Blobs para obter mais detalhes. Se estiver usando o indexador de blobs e a chave do documento for o campo metadata_storage_path, certifique-se de que a definição do indexador tenha uma função de mapeamento base64Encode com parameters igual a null, em vez do caminho em texto sem formatação.
A chave do documento é inválida Document key cannot be longer than 1024 characters Modifique a chave do documento para atender aos requisitos de validação.
Não foi possível aplicar o mapeamento de campo a um campo Could not apply mapping function 'functionName' to field 'fieldName'. Array cannot be null. Parameter name: bytes Verifique os mapeamentos de campo definidos no indexador e compare com os dados do campo especificado do documento com falha. Talvez seja necessário modificar os mapeamentos de campo ou os dados do documento.
Não foi possível ler o valor do 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.) Esses erros normalmente se devem a problemas de conectividade inesperados com o serviço subjacente da fonte de dados. Tente executar o documento por meio do indexador novamente mais tarde.

Error: Could not map output field 'xyz' to search index due to deserialization problem while applying mapping function 'abc'

O mapeamento de saída pode ter falhado porque os dados de saída estão no formato incorreto para a função de mapeamento que você está usando. Por exemplo, aplicar a função de mapeamento Base64Encode em dados binários geraria esse erro. Para resolver o problema, execute o indexador novamente sem especificar a função de mapeamento ou verifique se a função de mapeamento seja compatível com o tipo de dados do campo de saída. Consulte mapeamento de campo de saída para obter detalhes.

Error: Could not execute skill

O indexador não pôde executar uma habilidade no conjunto de habilidades.

Motivo Detalhes/exemplo Resolução
Problemas de conectividade transitórios Ocorreu um erro transitório. Tente novamente mais tarde. Ocasionalmente, há problemas de conectividade inesperados. Tente executar o documento por meio do indexador novamente mais tarde.
Possível bug do produto Erro inesperado. Isso indica uma classe desconhecida de falha e pode indicar que há um bug no produto. Registre um tíquete de suporte para obter ajuda.
Uma habilidade encontrou um erro durante a execução (Da habilidade de mesclagem) Um ou mais valores de deslocamento eram inválidos e não puderam ser analisados. Os itens foram inseridos no final do texto Use as informações na mensagem de erro para corrigir o problema. Esse tipo de falha exige uma ação para ser resolvida.

Error: Could not execute skill because the Web API request failed

Falha na execução da habilidade porque a chamada para a API Web falhou. Normalmente, essa classe de falha ocorre quando habilidades personalizadas são usadas. Nesse caso, é preciso depurar seu código personalizado para resolver o problema. Se, em vez disso, a falha for de uma habilidade interna, consulte a mensagem de erro para obter ajuda para corrigir o problema.

Ao depurar esse problema, preste atenção aos avisos de entrada de habilidade para essa habilidade. O ponto de extremidade da API Web pode estar falhando porque o indexador está passando por uma entrada inesperada.

Error: Could not execute skill because Web API skill response is invalid

Falha na execução da habilidade porque a chamada para a API Web retornou uma resposta inválida. Normalmente, essa classe de falha ocorre quando habilidades personalizadas são usadas. Nesse caso, é preciso depurar seu código personalizado para resolver o problema. Se, em vez disso, a falha for de uma habilidade interna, registre um tíquete de suporte para obter assistência.

Error: Type of value has a mismatch with column type. Couldn't store in 'xyz' column. Expected type is 'abc'

Se sua fonte de dados tiver um campo com um tipo de dados diferente do campo que você está tentando mapear em seu índice, é possível encontrar esse erro. Verifique os tipos de dados do campo de fonte de dados e verifique se eles estão mapeados corretamente para seus tipos de dados de índice.

Error: Skill did not execute within the time limit

Há dois casos nos quais é possível encontrar essa mensagem de erro, e cada um deles deve ser tratado de forma diferente. Siga as instruções abaixo, dependendo de qual habilidade retornou esse erro.

Habilidades internas de serviços de IA do Azure

Muitas das habilidades cognitivas internas, como detecção de idioma, reconhecimento de entidade ou OCR, são apoiadas por um ponto de extremidade da API de serviços de IA do Azure. Às vezes, há problemas transitórios com esses pontos de extremidade e uma solicitação vai acabar. Para problemas transitórios, não há nenhum remédio a não ser esperar e tentar novamente. Para reduzir o problema, a indexação deve ser agendada. A indexação agendada continua de onde parou. Supondo que os problemas transitórios sejam resolvidos, a indexação e o processamento de habilidades cognitivas devem ser capazes de continuar na próxima execução agendada.

Se você continuar a ver esse erro no mesmo documento para uma habilidade cognitiva interna, registre um tíquete de suporte para obter assistência, pois isso não é esperado.

Habilidades personalizadas

Se houver um erro de tempo limite com uma habilidade personalizada, tente tomar uma das medidas abaixo. Primeiro, examine sua habilidade personalizada e verifique se ela não está ficando presa em um loop infinito e se está obtendo um resultado de maneira consistente. Depois de confirmar que um resultado foi retornado, verifique a duração da execução. Se não tiver definido explicitamente um valor timeout em sua definição de habilidade personalizada, o padrão timeout será de 30 segundos. Se 30 segundos não for o suficiente para que sua habilidade seja executada, você poderá especificar um valor mais alto timeout em sua definição de habilidade personalizada. Este é um exemplo de uma definição de habilidade personalizada em que o tempo limite é definido como 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"
          }
        ]
      }

O valor máximo que você pode definir para o parâmetro timeout é 230 segundos. Se sua habilidade personalizada não puder ser executada de forma consistente em 230 segundos, considere reduzir o batchSize da sua habilidade personalizada, para que ela tenha menos documentos e seja processada em uma única execução. Caso já tenha definido o batchSize como 1, precisará reescrever a habilidade para executar em menos de 230 segundos, ou dividi-la em várias habilidades personalizadas, para que o tempo de execução de qualquer habilidade personalizada seja de, no máximo, 230 segundos. Examine a documentação de habilidades personalizadas para obter mais informações.

Error: Could not 'MergeOrUpload' | 'Delete' document to the search index

O documento foi lido e processado, mas o indexador não pôde adicioná-lo ao índice de pesquisa. Isso pode ocorrer devido a:

Motivo Detalhes/exemplo Resolução
Um campo contém um termo muito grande Um termo no documento é maior que o limite de 32-KB Você pode evitar essa restrição garantindo que o campo não esteja configurado como filtrável, com faceta ou classificável.
O documento é muito grande para ser indexado Um documento é maior do que o tamanho máximo da solicitação de API Como indexar grandes conjuntos de dados
O documento contém muitos objetos na coleção Uma coleção em seu documento excede o número máximo de elementos em todos os limites de coleções complexas. 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. É recomendável reduzir o tamanho da coleção complexa no documento para abaixo do limite e evitar a alta utilização do armazenamento.
Problemas de conexão com o índice de destino (que persiste após novas tentativas), porque o serviço está em outra carga, como consulta ou indexação. Falha ao estabelecer uma conexão com o índice de atualização. O serviço Pesquisa está sob carga pesada. Escalar verticalmente seu serviço de pesquisa
O serviço Pesquisa está sendo corrigido para atualização de serviço, ou está no meio de uma reconfiguração de topologia. Falha ao estabelecer uma conexão com o índice de atualização. O serviço Pesquisa está inoperante no momento/o serviço de pesquisa está passando por uma transição. Configure o serviço com pelo menos três réplicas de 99,9% de disponibilidade de acordo com a documentação do SLA
Falha no recurso de rede/computação subjacente (rara) Falha ao estabelecer uma conexão com o índice de atualização. Ocorreu uma falha desconhecida. Configure os indexadores para serem executados em um agendamento para captar de um estado de falha.
Uma solicitação de indexação feita ao índice de destino não foi confirmada dentro de um período de tempo limite devido a problemas de rede. Não foi possível estabelecer a conexão com o índice de pesquisa em tempo hábil. Configure os indexadores para serem executados em um agendamento para captar de um estado de falha. Além disso, tente diminuir o tamanho do lote do indexador se essa condição de erro persistir.

Error: Could not index document because some of the document's data was not valid

O documento foi lido e processado pelo indexador, mas devido a uma incompatibilidade na configuração dos campos de índice e os dados extraídos e processados pelo indexador, não foi possível adicioná-los ao índice de pesquisa. Isso pode ocorrer devido a:

Motivo Detalhes/exemplo
O tipo de dados de um ou mais campos extraídos pelo indexador é incompatível com o modelo de dados do campo de índice de destino correspondente. 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)'.
Falha ao extrair qualquer entidade JSON de um valor de cadeia de caracteres. 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.'
Falha ao extrair uma coleção de entidades JSON de um valor de cadeia de caracteres. 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.'
Um tipo desconhecido foi descoberto no documento de origem. Unknown type '_unknown_' cannot be indexed
Foi usada uma notação incompatível para pontos de geografia no documento de origem. WKT POINT string literals are not supported. Use GeoJson point literals instead

Em todos esses casos, consulte Tipos de dados com suporte e Mapa de tipo de dados para indexadores para verificar se você criou o esquema de índice corretamente e configurou os mapeamentos de campo de indexadorapropriados. A mensagem de erro inclui detalhes que podem ajudar a rastrear a origem da incompatibilidade.

Error: Integrated change tracking policy cannot be used because table has a composite primary key

Isso se aplica a tabelas SQL e geralmente acontece quando a chave é definida como uma chave composta, ou quando a tabela define um índice clusterizado exclusivo (como em um índice SQL, não um índice Azure Search). O principal motivo é que o atributo chave é modificado para ser uma chave primária composta em um índice clusterizado exclusivo. Nesse caso, certifique-se de que a tabela SQL não tenha um índice clusterizado exclusivo ou que você mapeie o campo de chave para um campo que tenha a garantia de não ter valores duplicados.

Error: Could not process document within indexer max run time

Esse erro ocorre quando o indexador não pode concluir o processamento de um único documento da fonte de dados dentro do tempo de execução permitido. O tempo máximo de execução é menor quando são usados conjuntos de habilidades. Quando esse erro ocorrer, se você tiver maxFailedItems definido com um valor diferente de 0, o indexador vai ignorar o documento em execuções futuras para que a indexação possa progredir. Se você não puder ignorar nenhum documento, ou se estiver vendo esse erro de forma consistente, considere a possibilidade de dividir os documentos em documentos menores, para que o progresso parcial possa ser feito dentro de uma única execução do indexador.

Error: Could not project document

Esse erro ocorre quando o indexador está tentando projetar dados em um repositório de conhecimento e ocorre uma falha na tentativa. Essa falha pode ser consistente e corrigível, ou uma falha transitória com o coletor de saída de projeção, e talvez seja necessário aguardar e tentar novamente para resolver. Este é um conjunto de estados de falha conhecidos e resoluções possíveis.

Motivo Detalhes/exemplo Resolução
Não foi possível atualizar o blob de projeção 'blobUri' no contêiner 'containerName' O contêiner especificado não existe. O indexador verifica se o contêiner especificado foi criado anteriormente e o criará, se necessário, mas ele realizará essa verificação uma vez por execução de indexador. Esse erro significa que algo excluiu o contêiner após esta etapa. Para resolver esse erro, tente: deixar as informações da conta de armazenamento sozinhas, aguardar até que o indexador seja concluído e executar novamente o indexador.
Não foi possível atualizar o blob de projeção 'blobUri' no contêiner 'containerName' Não é possível gravar dados na conexão de transporte: uma conexão existente foi fechada à força pelo host remoto. Espera-se que essa seja uma falha transitória com o Armazenamento do Microsoft Azure e, portanto, deve ser resolvida executando novamente o indexador. Se você encontrar esse erro de modo consistente, registre um tíquete de suporte, para que ele possa ser investigado mais detalhadamente.
Não foi possível atualizar a linha 'projectionRow' na tabela 'tableName' O servidor está ocupado. Espera-se que essa seja uma falha transitória com o Armazenamento do Microsoft Azure e, portanto, deve ser resolvida executando novamente o indexador. Se você encontrar esse erro de modo consistente, registre um tíquete de suporte, para que ele possa ser investigado mais detalhadamente.

Error: The cognitive service for skill '<skill-name>' has been throttled

Falha na execução da habilidade porque a chamada aos serviços de IA do Azure era limitada. Normalmente, essa classe de falha ocorre quando muitas habilidades estão sendo executadas paralelamente. Se você estiver usando a biblioteca de clientes Microsoft.Search.Documents para executar o indexador, poderá usar o SearchIndexingBufferedSender para obter repetição automática nas etapas com falha. Caso contrário, você pode redefinir e executar novamente o indexador.

Error: Expected IndexAction metadata

Um erro de “Metadados esperados do IndexAction” ocorre quando o indexador tentou ler o documento para identificar qual ação deve ser tomada, mas não encontrou nenhum metadado correspondente no documento. Normalmente, esse erro ocorre quando o indexador tem um cache de anotações adicionado ou removido sem redefinição do indexador. Para resolver isso, você deve redefinir e executar novamente o indexador.

Warning: Skill input was invalid

Uma entrada para a habilidade estava ausente, era o tipo errado ou inválida. É possível visualizar as seguintes informações:

  • Could not execute skill

  • Skill executed but may have unexpected results

As habilidades cognitivas têm entradas opcionais e necessárias. Por exemplo, a habilidade de extração de frases-chave tem duas entradas necessárias text, languageCode e nenhuma entrada opcional. As entradas de habilidades personalizadas são consideradas opcionais.

Se as entradas necessárias estiverem ausentes ou se a entrada não for do tipo correto, a habilidade será ignorada, gerando um aviso. As habilidades ignoradas não geram saídas. Se as habilidades downstream consumirem as saídas da habilidade ignorada, elas poderão gerar outros avisos.

Se uma entrada opcional estiver ausente, a habilidade ainda será executada, mas poderá produzir uma saída inesperada, devido à entrada ausente.

Esse aviso, em ambos os casos é devido à forma de seus dados. Por exemplo, se você tiver um documento com informações sobre pessoas com os campos firstName, middleName e lastName, você poderá ter alguns documentos que não têm uma entrada para middleName. Se você transmitir middleName como uma entrada para uma habilidade no pipeline, espera-se que essa entrada de habilidade esteja ausente durante algum tempo. Você precisa avaliar seus dados e o cenário para determinar se é necessário executar alguma ação como resultado desse aviso.

Se quiser fornecer um valor padrão para uma entrada ausente, você pode usar a Habilidade Condicional para gerar um valor padrão e, em seguida, usar a saída da Habilidade Condicional como a entrada da habilidade.

{
    "@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 Detalhes/exemplo Resolução
A entrada de habilidade é do tipo errado "A entrada de habilidade necessária não era do tipo esperado String. Nome: text, Fonte: /document/merged_content." "A entrada da habilidade necessária não tinha o formato esperado. Nome: text, Fonte: /document/merged_content." "Não é possível iterar na não matriz /document/normalized_images/0/imageCelebrities/0/detail/celebrities." "Não é possível selecionar 0 na não matriz /document/normalized_images/0/imageCelebrities/0/detail/celebrities." É esperado que certas habilidades tenham entradas de tipos específicos. Por exemplo, espera-se que a habilidade de sentimentos seja text uma cadeia de caracteres. Se a entrada especificar um valor que não seja uma cadeia de caracteres, a habilidade não será executada e não gerará nenhuma saída. Verifique se o conjunto de dados tem valores de entrada uniformes no tipo ou use uma habilidade de API Web personalizada para pré-processar a entrada. Se você estiver iterando a habilidade em uma matriz, verifique se o contexto de habilidade e a entrada têm * nas posições corretas. Geralmente, o contexto e a fonte de entrada devem terminar com * para matrizes.
Entrada de habilidade ausente 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. Se esse aviso ocorrer para todos os documentos, pode haver um erro de digitação nos caminhos de entrada. Verifique o uso de maiúsculas no nome da propriedade. Verifique se há um * adicional ou ausente no caminho. Verifique se os documentos da fonte de dados fornecem as entradas necessárias.
Entrada do código de idioma da habilidade inválida A entrada de habilidades languageCode tem os seguintes códigos de idioma X,Y,Z, e pelo menos um deles é inválido. Veja mais detalhes abaixo.

Warning: Skill input 'languageCode' has the following language codes 'X,Y,Z', at least one of which is invalid.

Não há suporte para um ou mais valores transmitidos para a entrada languageCode opcional de uma habilidade de downstream. Isso pode ocorrer se você estiver transmitindo a saída do LanguageDetectionSkill para as habilidades subsequentes, e a saída consistir em mais idiomas do que o suportado nessas habilidades de downstream.

Observe que você também poderá receber um aviso semelhante a este se uma entrada countryHint inválida for transmitida para o LanguageDetectionSkill. Se isso acontecer, verifique se o campo da fonte de dados que você está usando para essa entrada contém códigos válidos de país ISO 3166-1 alfa-2 com duas letras. Se alguns forem válidos e outros inválidos, continue com as diretrizes a seguir, mas substitua languageCode por countryHint e defaultLanguageCode por defaultCountryHint para corresponder ao seu caso de uso.

Se você souber que seu conjunto de dados está todo em um idioma, remova o LanguageDetectionSkill e a entrada de habilidade languageCode e use o parâmetro de habilidade defaultLanguageCodepara essa habilidade, supondo que o idioma tenha suporte para essa habilidade.

Se você sabe que seu conjunto de dados contém vários idiomas e, portanto, precisa da entrada LanguageDetectionSkill e languageCode, considere adicionar uma ConditionalSkill para filtrar o texto com idiomas que não têm suporte antes de passar o texto para a habilidade downstream. Este é um exemplo de como seria a 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" } ]
}

Aqui estão algumas referências para os idiomas com suporte no momento para cada uma das habilidades que podem produzir essa mensagem de erro:

Warning: Skill input was truncated

As habilidades cognitivas limitam o tamanho do texto que pode ser analisado de cada vez. Se a entrada de texto exceder o limite, o texto será truncado antes de ser enriquecido. A habilidade é executada, mas não sobre todos os dados.

No exemplo LanguageDetectionSkill abaixo, o campo de entrada 'text' pode disparar esse aviso, se estiver acima do limite de caracteres. Os limites de entrada podem ser encontrados na documentação de referência de habilidades.

 {
    "@odata.type": "#Microsoft.Skills.Text.LanguageDetectionSkill",
    "inputs": [
      {
        "name": "text",
        "source": "/document/text"
      }
    ],
    "outputs": [...]
  }

Se você quiser garantir que todo o texto seja analisado, use a habilidade de divisão.

Warning: Web API skill response contains warnings

O indexador executou a habilidade no conjunto de habilidades, mas a resposta da solicitação da API da Web indica que há avisos. Examine os avisos para entender como os dados serão afetados e se ações adicionais são necessárias.

Warning: The current indexer configuration does not support incremental progress

Esse aviso ocorre apenas para fontes de dados do Azure Cosmos DB.

O progresso incremental durante a indexação garante que, se a execução do indexador é interrompida por falhas transitórias ou limite de tempo de execução, o indexador pode escolher onde ela parou próxima vez que ele é executado, em vez de toda a coleção de zero de índice novamente. Isso é especialmente importante durante a indexação de coleções grandes.

A capacidade de retomar um trabalho de indexação não concluído se baseia em ter documentos ordenados pela coluna _ts. O indexador usa o carimbo de data/hora para determinar qual documento deve ser selecionado em seguida. Se a coluna _ts estiver ausente ou se o indexador não puder determinar se uma consulta personalizada foi ordenada por ela, o indexador será iniciado no início e você verá esse aviso.

É possível substituir esse comportamento, permitindo o progresso incremental e suprimindo esse aviso usando a propriedade de configuração assumeOrderByHighWaterMarkColumn.

Para obter mais informações, consulte progresso incremental e consultas personalizadas.

Warning: Some data was lost during projection. Row 'X' in table 'Y' has string property 'Z' which was too long.

O serviço de Armazenamento de Tabelas tem limites do tamanho máximo que as propriedades de entidade podem ter. As cadeias de caracteres podem ter 32.000 a ou menos. Se uma linha com uma propriedade de cadeia de caracteres com mais de 32.000 caracteres estiver sendo projetada, somente os primeiros 32.000 caracteres serão preservados. Para solucionar esse problema, evite projetar linhas com propriedades de cadeia de caracteres com mais de 32.000 caracteres.

Warning: Truncated extracted text to X characters

Os indexadores limitam a quantidade de texto que pode ser extraída de qualquer documento. Esse limite depende do tipo de preço: 32.000 caracteres para a Camada gratuita, 64.000 para Basic, 4 milhões para Standard, 8 milhões para Standard S2 e 16 milhões para Standard S3. O texto que ficou truncado não será indexado. Para evitar esse aviso, tente separar documentos com grandes quantidades de texto em vários documentos menores.

Para saber mais, consulte os limites do indexador.

Warning: Could not map output field 'X' to search index

Os mapeamentos de campo de saída com referência de dados não existentes/nulas produzirão avisos para cada documento e resultarão em um campo de índice vazio. Para solucionar esse problema, verifique novamente os caminhos de origem de mapeamento de campo da saída para possíveis erros de digitação ou defina um valor padrão usando a Habilidade condicional. Consulte mapeamento de campo de saída para obter detalhes.

Motivo Detalhes/exemplo Resolução
"Não é possível iterar em não matriz "Não é possível iterar em não matriz /document/normalized_images/0/imageCelebrities/0/detail/celebrities." Esse erro ocorre quando a saída não é uma matriz. Se você considerar que a saída deve ser uma matriz, verifique se há erros no caminho do campo de origem da saída indicada. Por exemplo, você pode ter uma * ausente ou adicional no nome do campo de origem. Também é possível que a entrada para essa habilidade seja nula, resultando em uma matriz vazia. Veja detalhes semelhantes na seção A entrada de habilidades era inválida.
Não é possível selecionar 0 em não matriz "Não é possível selecionar 0 em não matriz /document/pages." Isso pode acontecer se a saída de habilidades não produzir uma matriz e o nome do campo de origem de saída tiver índice de matriz ou * em seu caminho. Verifique novamente os caminhos fornecidos nos nomes de campo de origem da saída e o valor do campo para o nome do campo indicado. Veja detalhes semelhantes na seção A entrada de habilidades era inválida.

Warning: The data change detection policy is configured to use key column 'X'

As políticas de detecção de alteração de dados têm requisitos específicos para as colunas usadas para detectar alterações. Um desses requisitos é que essa coluna seja atualizada toda vez que o item de origem for alterado. Outro requisito é que o novo valor dessa coluna seja maior que o valor anterior. As colunas de chave não atendem a esse requisito porque não mudam em cada atualização. Para contornar esse problema, selecione uma coluna diferente para a política de detecção de alteração.

Warning: Document text appears to be UTF-16 encoded, but is missing a byte order mark

Os modos de análise do indexador precisam saber como o texto é codificado antes de analisá-lo. As duas maneiras mais comuns de codificar texto são UTF-16 e UTF-8. UTF-8 é uma codificação de comprimento variável, em que cada caractere está entre 1 e 4 bytes de comprimento. UTF-16 é uma codificação de tamanho fixo, em que cada caractere tem 2 bytes de comprimento. O UTF-16 tem duas variantes diferentes, big endian e little endian. A codificação do texto é determinada por um byte order mark, uma série de bytes antes do texto.

Codificação Marca de ordem de byte
UTF-16 Big Endian 0xFE 0xFF
UTF-16 Little Endian 0xFF 0xFE
UTF-8 0xEF 0xBB 0xBF

Se nenhuma marca de ordem de byte estiver presente, presume-se que o texto seja codificado como UTF-8.

Para contornar esse aviso, determine qual é a codificação de texto para esse blob e adicione a marca de ordem de byte apropriada.

Warning: Azure Cosmos DB collection 'X' has a Lazy indexing policy. Some data may be lost

As coleções com políticas de indexação lentas não podem ser consultadas de forma consistente, resultando na falta de dados no indexador. Para contornar esse aviso, altere sua política de indexação para consistente.

Warning: The document contains very long words (longer than 64 characters). These words may result in truncated and/or unreliable model predictions.

Esse aviso é passado do Serviço de linguagem dos serviços de IA do Azure. Em alguns casos, é seguro ignorar esse aviso, por exemplo, se a cadeia de caracteres longa for apenas uma URL longa. Lembre-se de que quando uma palavra tem mais de 64 caracteres, ela é "truncada" para 64 caracteres, o que pode afetar as previsões do modelo.

Error: Cannot write more bytes to the buffer than the configured maximum buffer size

Os indexadores têm limites de tamanho do documento. Verifique se os documentos em sua fonte de dados são menores do que o limite de tamanho com suporte, conforme documentado para sua camada de serviço.