Solução de problemas de erros e avisos comuns do indexador na Pesquisa de IA do Azure

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

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

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

Nota

Cada documento com falha, juntamente com sua chave de documento (quando disponível), aparecerá como um erro no status de execução do indexador. Você pode utilizar a api de índice para carregar manualmente os documentos em um ponto posterior se tiver configurado o indexador para tolerar falhas.

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

Os avisos não param de indexar, mas indicam condições que podem resultar em resultados inesperados. Se você toma medidas ou não, depende dos dados e do seu cenário.

Onde você pode 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 de Pesquisa de IA.
  2. Quando estiver no serviço AI Search, clique no separador '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 aparecerá no lado direito da tela exibindo informações detalhadas sobre o erro.

Erros transitórios

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

Para gerenciar esses erros de forma eficaz, é recomendável colocar seu indexador em um cronograma, por exemplo, para executar a cada cinco minutos. Isso significa que a próxima execução começará cinco minutos após a conclusão da primeira execução, respeitando o limite máximo de tempo de execução. Execuções programadas regularmente ajudam a corrigir quaisquer erros transitórios ou avisos rapidamente.

Se você notar um erro persistindo em várias execuções de indexador, é provável que não seja um problema transitório. Nesses casos, consulte a lista abaixo para obter possíveis soluções. Tenha sempre em atenção que o seu calendário de indexação está alinhado com as limitações descritas no nosso guia de limites do indexador.

Propriedades do erro

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

Property Description Exemplo
Chave A ID do documento afetado 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 aviso. Isto é 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
Mensagem Uma descrição de alto nível do erro ou aviso. Could not execute skill because the Web Api request failed.
Detalhes Informações específicas que podem ser úteis no diagnóstico do 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...
DocumentaçãoLink Um link para a documentação relevante com informações detalhadas para depurar e resolver o problema. Este 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 da fonte de dados. Tal pode ocorrer devido a:

Razão 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. Certifique-se de que o tipo de cada campo é o mesmo em documentos diferentes. Por exemplo, se o primeiro campo do documento 'startTime' for um DateTime, e no segundo documento for uma cadeia de caracteres, esse erro será atingido.
Erros do serviço subjacente da fonte de dados Do Azure Cosmos DB: {"Errors":["Request rate is large"]} Verifique sua instância de armazenamento para garantir que ela esteja íntegra. Talvez seja necessário ajustar o dimensionamento ou particionamento.
Problemas transitó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 através do indexador novamente mais tarde.

Error: Could not extract content or metadata from your document

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

Razão 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 não suportado Document has unsupported content type 'image/png' Erros de indexação de blob
O Blob é criptografado Document could not be processed - it may be encrypted or password protected. Você pode pular o blob com as configurações de blob.
Problemas transitó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 através 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. Tal pode ocorrer devido a:

Razão Detalhes/Exemplo Resolução
A chave do documento está ausente Document key cannot be missing or empty Certifique-se de que todos os documentos têm chaves de documento válidas. A chave do documento é determinada definindo a propriedade 'key' como parte da definição de índice. Os indexadores emitem esse erro quando a propriedade sinalizada como 'chave' não pode 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 (=). Certifique-se de que todos os documentos têm chaves de documento válidas. Consulte Armazenamento de Blobs de Indexação para obter mais detalhes. Se você estiver usando o indexador de blob e sua chave de documento for o metadata_storage_path campo, verifique se a definição do indexador tem 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 novamente os mapeamentos de campo definidos no indexador e compare com os dados do campo especificado do documento com falha. Pode ser 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 geralmente são devidos a problemas inesperados de conectividade com o serviço subjacente da fonte de dados. Tente executar o documento através 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 errado para a função de mapeamento que você está usando. Por exemplo, a aplicação da Base64Encode função de mapeamento em dados binários geraria esse erro. Para resolver o problema, execute novamente o indexador sem especificar a função de mapeamento ou verifique se a função de mapeamento é 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 foi capaz de executar uma habilidade no conjunto de habilidades.

Razão Detalhes/Exemplo Resolução
Problemas transitórios de conectividade Ocorreu um erro transitório. Tente novamente mais tarde. Ocasionalmente, há problemas de conectividade inesperados. Tente executar o documento através do indexador novamente mais tarde.
Potencial bug do produto Ocorreu um erro inesperado. Isso indica uma classe desconhecida de falha e pode indicar um bug do produto. Registre um tíquete de suporte para obter ajuda.
Uma habilidade encontrou um erro durante a execução (Da habilidade Merge) Um ou mais valores de deslocamento eram inválidos e não podiam ser analisados. Os itens foram inseridos no final do texto Use as informações na mensagem de erro para corrigir o problema. Este tipo de falha requer ação para resolver.

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

A execução da habilidade falhou porque a chamada para a API Web falhou. Normalmente, essa classe de falha ocorre quando habilidades personalizadas são usadas, caso em que você precisa 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 com a correção do problema.

Ao depurar esse problema, certifique-se de prestar atenção a todos os avisos de entrada de habilidade para essa habilidade. Seu ponto de extremidade da API Web pode estar falhando porque o indexador está passando uma entrada inesperada.

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

A execução da habilidade falhou porque a chamada para a API Web retornou uma resposta inválida. Normalmente, essa classe de falha ocorre quando habilidades personalizadas são usadas, caso em que você precisa 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 a fonte de dados tiver um campo com um tipo de dados diferente do campo que você está tentando mapear no índice, você poderá encontrar esse erro. Verifique os tipos de dados de campo da fonte de dados e verifique se eles estão mapeados corretamente para os tipos de dados de índice.

Error: Skill did not execute within the time limit

Há dois casos em que você pode encontrar essa mensagem de erro, cada um dos quais deve ser tratado de forma diferente. Siga as instruções abaixo, dependendo da habilidade que retornou esse erro para você.

Habilidades internas de serviços de IA do Azure

Muitas das habilidades cognitivas internas, como deteçã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 expirará. Para problemas transitórios, não há solução a não ser esperar e tentar novamente. Como atenuação, considere definir o indexador para ser executado em uma programação. A indexação programada 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 integrada, registre um tíquete de suporte para obter assistência, pois isso não é esperado.

Competências personalizadas

Se você encontrar um erro de tempo limite com uma habilidade personalizada, há algumas coisas que você pode tentar. Primeiro, revise sua habilidade personalizada e certifique-se de que ela não está ficando presa em um loop infinito e que está retornando um resultado de forma consistente. Depois de confirmar que um resultado foi retornado, verifique a duração da execução. Se você não definiu explicitamente um timeout valor em sua definição de habilidade personalizada, o padrão timeout é 30 segundos. Se 30 segundos não for tempo suficiente para sua habilidade ser executada, você pode especificar um valor maior timeout em sua definição de habilidade personalizada. Aqui está 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 timeout parâmetro é 230 segundos. Se sua habilidade personalizada não conseguir ser executada consistentemente em 230 segundos, você pode considerar reduzir a batchSize habilidade personalizada para que ela tenha menos documentos para processar em uma única execução. Se você já definiu o seu batchSize para 1, você precisa reescrever a habilidade para ser capaz de executar em menos de 230 segundos, ou dividi-la em várias habilidades personalizadas para que o tempo de execução para qualquer habilidade personalizada seja de no máximo 230 segundos. Consulte 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. Tal pode ocorrer devido a:

Razão Detalhes/Exemplo Resolução
Um campo contém um termo demasiado grande Um termo no documento é maior do que o limite de 32 KB Você pode evitar essa restrição garantindo que o campo não esteja configurado como filtrável, facial ou classificável.
O documento é demasiado 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 limite 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. Recomendamos reduzir o tamanho da coleção complexa no documento para abaixo do limite e evitar a alta utilização do armazenamento.
Problemas para se conectar ao índice de destino (que persiste após tentativas) porque o serviço está sob outra carga, como consulta ou indexação. Falha ao estabelecer conexão para atualizar o índice. O serviço de pesquisa está sob carga pesada. Aumente a escala do seu serviço de pesquisa
O serviço de pesquisa está sendo corrigido para atualização de serviço ou está no meio de uma reconfiguração de topologia. Falha ao estabelecer conexão para atualizar o índice. O serviço de pesquisa está atualmente inativo/o serviço de pesquisa está passando por uma transição. Configure o serviço com pelo menos três réplicas para 99,9% de disponibilidade por documentação de SLA
Falha no recurso de computação/rede subjacente (raro) Falha ao estabelecer conexão para atualizar o índice. Ocorreu uma falha desconhecida. Configure os indexadores para serem executados em um cronograma para pegar de um estado com falha.
Uma solicitação de indexação feita ao índice de destino não foi reconhecida dentro de um período de tempo limite devido a problemas de rede. Não foi possível estabelecer conexão com o índice de pesquisa em tempo hábil. Configure os indexadores para serem executados em um cronograma para pegar de um estado com falha. Além disso, tente reduzir 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 dos dados extraídos e processados pelo indexador, não pôde ser adicionado ao índice de pesquisa. Tal pode ocorrer devido a:

Razão 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
Uma notação incompatível para pontos geográficos foi usada no documento de origem. WKT POINT string literals are not supported. Use GeoJson point literals instead

Em todos esses casos, consulte Tipos de dados suportados e Mapa de tipos de dados para indexadores para garantir que você crie o esquema de índice corretamente e tenha configurado mapeamentos de campo de indexador apropriados. 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 definiu um índice clusterizado exclusivo (como em um índice SQL, não um índice da Pesquisa do Azure). O principal motivo é que o atributo key é modificado para ser uma chave primária composta em um índice clusterizado exclusivo. Nesse caso, certifique-se de que sua tabela SQL não tenha um índice clusterizado exclusivo ou que você mapeie o campo chave para um campo que tenha a garantia de não ter valores duplicados.

Error: Could not process document within indexer max run time

Este erro ocorre quando o indexador não consegue 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 os conjuntos de habilidades são usados. Quando esse erro ocorre, se você tiver maxFailedItems definido como um valor diferente de 0, o indexador 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 dividir documentos em documentos menores para que o progresso parcial possa ser feito em uma única execução de indexador.

Error: Could not project document

Este erro ocorre quando o indexador está tentando projetar dados em um armazenamento de conhecimento e houve uma falha na tentativa. Essa falha pode ser consistente e corrigível, ou pode ser uma falha transitória com o coletor de saída de projeção que você pode precisar esperar e tentar novamente para resolver. Aqui está um conjunto de estados de falha conhecidos e possíveis resoluções.

Razão Detalhes/Exemplo Resolução
Não foi possível atualizar o blob 'blobUri' de projeção 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 só executa essa verificação uma vez por execução do indexador. Este erro significa que algo excluiu o contêiner após esta etapa. Para resolver esse erro, tente o seguinte: deixe as informações da conta de armazenamento sozinhas, aguarde a conclusão do indexador e execute novamente o indexador.
Não foi possível atualizar o blob 'blobUri' de projeção 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 Azure e, portanto, deve ser resolvida executando novamente o indexador. Se você encontrar esse erro de forma consistente, registre um tíquete de suporte para que ele possa ser investigado ainda mais.
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 Azure e, portanto, deve ser resolvida executando novamente o indexador. Se você encontrar esse erro de forma consistente, registre um tíquete de suporte para que ele possa ser investigado ainda mais.

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

A execução de habilidades falhou porque a chamada para os serviços de IA do Azure foi limitada. Normalmente, essa classe de falha ocorre quando muitas habilidades são executadas em paralelo. Se você estiver usando a biblioteca de cliente Microsoft.Search.Documents para executar o indexador, poderá usar o SearchIndexingBufferedSender para obter uma nova tentativa automática em etapas com falha. Caso contrário, você pode redefinir e executar novamente o indexador.

Warning: Skill input was invalid

Uma entrada para a habilidade estava faltando, ela tem o tipo errado, ou de outra forma, inválida. Poderá ver as seguintes informações:

  • Could not execute skill

  • Skill executed but may have unexpected results

As habilidades cognitivas exigiram entradas e entradas opcionais. Por exemplo, a habilidade de extração de frases-chave tem duas entradas textnecessárias , languageCodee nenhuma entrada opcional. As entradas de habilidades personalizadas são todas consideradas entradas opcionais.

Se faltarem entradas necessárias ou se a entrada não for do tipo certo, a habilidade será ignorada e gerará um aviso. Habilidades ignoradas não geram saídas. Se as habilidades a jusante consumirem os resultados da habilidade ignorada, elas podem gerar outros avisos.

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

Em ambos os casos, este aviso deve-se à forma dos seus dados. Por exemplo, se você tiver um documento contendo informações sobre pessoas com os campos firstName, middleNamee lastName, poderá ter alguns documentos que não têm uma entrada para middleName. Se você passar middleName como uma entrada para uma habilidade no pipeline, então espera-se que essa entrada de habilidade esteja faltando em algum momento. Você precisa avaliar seus dados e cenário para determinar se alguma ação é necessária ou nã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 de 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" } ]
}
Razão Detalhes/Exemplo Resolução
A entrada de habilidades é o tipo errado "A entrada de habilidades exigidas não foi do tipo Stringesperado. Nome: text, Fonte: /document/merged_content." "A entrada de habilidades exigidas não foi do formato esperado. Nome: text, Fonte: /document/merged_content." "Não é possível iterar sobre não-array /document/normalized_images/0/imageCelebrities/0/detail/celebrities." "Não é possível selecionar 0 em não-matriz /document/normalized_images/0/imageCelebrities/0/detail/celebrities" Certas habilidades esperam entradas de tipos específicos, por exemplo , a habilidade Sentiment espera text ser uma string. Se a entrada especificar um valor não string, a habilidade não será executada e não gerará saídas. 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 o contexto da habilidade e a entrada nas * posições corretas. Normalmente, tanto o contexto quanto a fonte de entrada devem terminar com * matrizes.
A entrada de habilidades está faltando 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 a caixa do nome da propriedade. Verifique se há um extra ou faltando * no caminho. Verifique se os documentos da fonte de dados fornecem as entradas necessárias.
A entrada de código de idioma de habilidade é inválida A entrada de languageCode habilidades tem os seguintes códigos X,Y,Zde idioma, pelo menos um dos quais é 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.

Um ou mais dos valores passados para a entrada opcional languageCode de uma habilidade downstream não são suportados. Isso pode ocorrer se você estiver passando a saída da LanguageDetectionSkill para as habilidades subsequentes, e a saída consistir em mais idiomas do que os suportados nessas habilidades a jusante.

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

Se você sabe que seu conjunto de dados está todo em um idioma, você deve remover o LanguageDetectionSkill e a languageCode entrada de habilidade e usar o defaultLanguageCode parâmetro de habilidade para essa habilidade, assumindo que o idioma é suportado para essa habilidade.

Se você sabe que seu conjunto de dados contém vários idiomas e, portanto, precisa da LanguageDetectionSkill e languageCode da entrada, considere adicionar uma ConditionalSkill para filtrar o texto com idiomas que não são suportados antes de passar o texto para a habilidade downstream. Aqui está um exemplo de como isso pode parecer para o 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 atualmente suportados para cada uma das habilidades que podem produzir essa mensagem de erro:

Warning: Skill input was truncated

As habilidades cognitivas limitam a extensão do texto que pode ser analisado ao mesmo tempo. Se a entrada de texto exceder o limite, o texto será truncado antes de ser enriquecido. A habilidade executa, mas não sobre todos os seus dados.

No exemplo LanguageDetectionSkill abaixo, o campo de entrada pode disparar 'text' esse aviso se a entrada 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 quiser garantir que todo o texto seja analisado, considere usar a habilidade Dividir.

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. Revise os avisos para entender como seus dados são afetados e se outras ações 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 for interrompida por falhas transitórias ou limite de tempo de execução, o indexador poderá continuar de onde parou na próxima vez que for executado, em vez de ter que reindexar toda a coleção do zero. Isso é especialmente importante ao indexar grandes coleções.

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

É possível substituir esse comportamento, habilitando o progresso incremental e suprimindo esse aviso usando a assumeOrderByHighWaterMarkColumn propriedade configuration.

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 Tabela tem limites sobre o tamanho das propriedades da entidade. As cadeias de caracteres podem ter 32.000 caracteres ou menos. Se uma linha com uma propriedade de cadeia de caracteres maior que 32.000 caracteres estiver sendo projetada, somente os primeiros 32.000 caracteres serão preservados. Para contornar 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 nível de preço: 32.000 caracteres para o nível Gratuito, 64.000 para o Básico, 4 milhões para o Standard, 8 milhões para o Standard S2 e 16 milhões para o Standard S3. O texto truncado não será indexado. Para evitar esse aviso, tente separar documentos com grandes quantidades de texto em vários documentos menores.

Para obter mais informações, consulte Limites do indexador.

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

Mapeamentos de campo de saída que fazem referência a dados inexistentes/nulos produzirão avisos para cada documento e resultarão em um campo de índice vazio. Para contornar esse problema, verifique novamente os caminhos de origem de mapeamento de campo de 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.

Razão Detalhes/Exemplo Resolução
Não é possível iterar sobre não-array "Não é possível iterar sobre não-array /document/normalized_images/0/imageCelebrities/0/detail/celebrities." Este erro ocorre quando a saída não é uma matriz. Se você acha que a saída deve ser uma matriz, verifique se há erros no caminho do campo de origem de saída indicado. Por exemplo, você pode ter um ausente ou extra * no nome do campo de origem. Também é possível que a entrada para essa habilidade seja nula, resultando em uma matriz vazia. Encontre detalhes semelhantes na seção Entrada de habilidade foi inválida .
Não é possível selecionar 0 em não-array "Não é possível selecionar 0 em não-array /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 dos campos de origem de saída e o valor do campo para o nome do campo indicado. Encontre detalhes semelhantes na seção Entrada de habilidade foi inválida .

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

As políticas de deteção de alterações de dados têm requisitos específicos para as colunas que usam para detetar alterações. Um desses requisitos é que esta coluna seja atualizada sempre que o item de origem for alterado. Outro requisito é que o novo valor para esta coluna seja maior do que o valor anterior. As colunas-chave não cumprem este requisito porque não são alteradas em todas as atualizações. Para contornar esse problema, selecione uma coluna diferente para a diretiva de deteção de alterações.

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 formas mais comuns de codificação de texto são UTF-16 e UTF-8. UTF-8 é uma codificação de comprimento variável onde cada caractere tem entre 1 byte e 4 bytes de comprimento. UTF-16 é uma codificação de comprimento fixo onde cada caractere tem 2 bytes de comprimento. UTF-16 tem duas variantes diferentes, big endian e little endian. A codificação de texto é determinada por um byte order mark, uma série de bytes antes do texto.

Codificação Marca de ordem de bytes
UTF-16 Grande Endian 0xFE 0xFF
UTF-16 Pequeno Endian 0xFF 0xFE
UTF-8 0xEF 0xBB 0xBF

Se nenhuma marca de ordem de bytes estiver presente, o texto será considerado 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 bytes 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 Lazy não podem ser consultadas de forma consistente, resultando na falta de dados do 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.

Este 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. Esteja ciente 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 de documento. Certifique-se de que os documentos em sua fonte de dados são menores do que o limite de tamanho suportado, conforme documentado para sua camada de serviço.