Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 é interrompida 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.
Observação
Cada documento com falha junto com sua chave de documento (quando disponível) será exibido 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 definido 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. A decisão de agir ou não agir 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:
Entre no portal do Azure e localize seu serviço de pesquisa.
À esquerda, expanda Gerenciamento de Pesquisa>Indexadores e selecione um indexador.
Em Histórico de Execução, selecione o status. Todos os status, incluindo Êxito, têm detalhes sobre a execução.
Se houver um erro, passe o mouse sobre a mensagem de erro. Um painel aparece no lado direito da tela exibindo 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 subsequentes do indexador.
Para gerenciar esses erros efetivamente, recomendamos colocar o indexador em um agendamento, por exemplo, para ser executado a cada cinco minutos, em que a próxima execução começa cinco minutos depois de concluir a primeira execução, aderindo ao limite máximo de runtime em seu serviço. Execuções agendadas regularmente ajudam a corrigir erros ou avisos transitórios.
Se um erro persistir em várias execuções de indexador, provavelmente não será um problema transitório. Nesses casos, consulte a lista abaixo para possíveis soluções.
Propriedades de erro
| Propriedade | Descrição | Exemplo |
|---|---|---|
| Chave | A ID do documento afetado pelo erro ou aviso. | Exemplo do Armazenamento do Azure, em que a ID padrão é o caminho de armazenamento de metadados: https://<storageaccount>.blob.core.windows.net/jfk-1k/docid-32112954.pdf |
| Nome | A operação que causa 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
|
| 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 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 da fonte de dados. Isso pode ocorrer devido a:
| Motivo | Detalhes/exemplo | Resolução |
|---|---|---|
| Tipos de campo inconsistentes em documentos diferentes |
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 sua instância de armazenamento para garantir que ela esteja íntegra. Talvez seja necessário ajustar o dimensionamento 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 inesperados de conectividade. 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 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 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 ignorar o blob com 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 inesperados de conectividade. 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 definindo a propriedade 'key' como parte da definição de índice. Os indexadores emitem esse erro quando a propriedade sinalizada como a "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 (=). |
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 duas vezes 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 ocorrem devido a problemas inesperados de conectividade 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 errado para a função de mapeamento que você está usando. Por exemplo, aplicar a função de Base64Encode 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 o 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 transitórios de conectividade | Ocorreu um erro transitório. Tente novamente depois. | Ocasionalmente, há problemas inesperados de conectividade. Tente executar o documento por meio do indexador novamente mais tarde. |
| Bug potencial 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 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 requer ação a ser resolvida. |
Error: Could not execute skill because the Web API request failed
A execução da habilidade falhou porque a chamada à API Web falhou. Normalmente, essa classe de falha ocorre quando habilidades personalizadas são usadas, nesse caso, 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 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
A execução da habilidade falhou porque a chamada à API Web retornou uma resposta inválida. Normalmente, essa classe de falha ocorre quando habilidades personalizadas são usadas, nesse caso, 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 em seu índice, você poderá encontrar esse erro. Verifique os tipos de dados do 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 nos quais você pode encontrar essa mensagem de erro, cada um deles deve ser tratado de forma diferente. Siga as instruções abaixo, dependendo de qual habilidade retornou esse erro para você.
Habilidades internas das Foundry Tools
Muitas das habilidades cognitivas internas, como detecção de idioma, reconhecimento de entidade ou OCR, são suportadas por um endpoint da API das Ferramentas Foundry. À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 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 que ela 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 forem longos o suficiente para sua habilidade ser executada, você poderá especificar um valor mais alto 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 puder ser executada consistentemente em até 230 segundos, você poderá considerar reduzir batchSize da sua habilidade personalizada de modo que tenha menos documentos a serem processados em uma única execução. Se você já tiver definido o seu batchSize como 1, precisará 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 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 em seu documento é maior que o limite de 32 KB | Você pode evitar essa restrição garantindo que o campo não esteja configurado como filtreável, facetável ou classificável. |
| O documento é muito grande para ser indexado | Um documento é maior que o tamanho máximo da solicitação de API | Como indexar grandes conjuntos de dados |
| O documento contém objetos demais na coleção | Uma coleção em seu documento excede o máximo de elementos em todo o limite 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 alta utilização de armazenamento. |
| Problemas para se conectar ao índice de destino (que persiste após novas tentativas) porque o serviço está sob outra carga, como consulta ou indexação. | Falha ao estabelecer a conexão para atualizar o índice. O serviço Pesquisa está sob carga pesada. | Ampliar o 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 a conexão para atualizar o índice. No momento, o serviço de pesquisa está inativo/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 computação/rede subjacente (raro) | Falha ao estabelecer a conexão para atualizar o índice. 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 em 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 agendamento para captar de um estado de 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, ele não pôde ser adicionado 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 |
| Uma notação incompatível para pontos de geografia foi usada no documento de origem. | WKT POINT string literals are not supported. Use GeoJson point literals instead |
Em todos esses casos, consulte os tipos de dados compatíveis e o mapa de tipos de dados para indexadores para garantir que você crie o esquema de índice corretamente e configure os mapeamentos de campo do 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 define um índice clusterizado exclusivo (como em um índice SQL, não um índice do Azure Search). O principal motivo é que o atributo de chave é 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 de chave para um campo que tem 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 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 se dar ao luxo de 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 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 houve 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. Aqui está um conjunto de estados de falha conhecidos e possíveis resoluções.
| Motivo | 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 ele só executa essa verificação uma vez por execução do indexador. Esse erro significa que algo excluiu o contêiner após esta etapa. Para resolver esse erro, tente isso: deixe as informações da conta de armazenamento em paz, aguarde até que o indexador seja concluído 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 isso seja uma falha transitória com o Armazenamento do Azure e, portanto, deve ser resolvido 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 linha 'projectionRow' na tabela 'tableName' |
O servidor está ocupado. | Espera-se que isso seja uma falha transitória com o Armazenamento do Azure e, portanto, deve ser resolvido 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
A execução da habilidade falhou porque a chamada para as Foundry Tools foi limitada. Normalmente, essa classe de falha ocorre quando muitas habilidades estão sendo executadas em paralelo. Se você estiver usando a biblioteca de clientes Microsoft.Search.Documents para executar o indexador, poderá usar o SearchIndexingBufferedSender para tentar novamente automaticamente em etapas com falha. Caso contrário, você poderá redefinir e executar novamente o indexador.
Error: Expected IndexAction metadata
Um erro "Metadados esperados do IndexAction" significa que quando o indexador tentou ler o documento para identificar qual ação deve ser tomada, ele não encontrou nenhum metadado correspondente no documento. Normalmente, esse erro ocorre quando o indexador tem um cache de anotação adicionado ou removido sem redefinir o indexador. Para resolver isso, você deve redefinir e executar novamente o indexador.
Warning: Skill input was invalid
Uma entrada para a habilidade estava ausente, tem o tipo errado ou é, de alguma forma, inválida. Você pode ver as seguintes informações:
Could not execute skillSkill executed but may have unexpected results
As habilidades cognitivas têm entradas necessárias e entradas opcionais. Por exemplo, a habilidade de extração de frases-chave tem duas entradas necessárias textlanguageCodee nenhuma entrada opcional. Todas as entradas personalizadas de habilidades são consideradas opcionais.
Se as entradas necessárias estiverem ausentes ou se a entrada não for o tipo certo, a habilidade será ignorada e gerará 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.
Em ambos os casos, esse aviso é devido ao formato dos seus dados. Por exemplo, se você tiver um documento contendo informações sobre pessoas com os campos firstNamemiddleNameelastName, talvez, tenha alguns documentos que não tenham 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 cenário para determinar se qualquer ação é necessária ou não como resultado desse aviso.
Se você quiser fornecer um valor padrão para uma entrada ausente, poderá usar a habilidade condicional para gerar um valor padrão e, em seguida, usar a saída da habilidade condicional como 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" } ]
}
| Motivo | Detalhes/exemplo | Resolução |
|---|---|---|
| O tipo de entrada de habilidade está errado | A entrada de habilidade necessária não era do tipo esperado String. Nome: text, Fonte: /document/merged_content." "A entrada de habilidade necessária não era do 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." |
Determinadas habilidades esperam entradas de tipos específicos, por exemplo, a Habilidade Sentimento espera text ser uma cadeia de caracteres. Se a entrada especificar um valor nãostring, 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 se o contexto de habilidade e a entrada têm * nas posições corretas. Normalmente, tanto o contexto quanto 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, poderá 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. |
| A entrada de código de linguagem de habilidade é inválida | A entrada de habilidade languageCode tem os seguintes X,Y,Zcódigos de 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.
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 pode obter um aviso semelhante a este se uma entrada inválida countryHint for passada para o 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 alfa-2 válidos. 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á tudo em um idioma, remova o LanguageDetectionSkill e a languageCode entrada de habilidade e use o defaultLanguageCode parâmetro de habilidade para 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. Aqui está um exemplo de como isso pode ser 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 com suporte no momento para cada uma das habilidades que podem produzir esta mensagem de erro:
- Idiomas compatíveis com EntityRecognitionSkill
- Idiomas compatíveis com EntityLinkingSkill
- Idiomas compatíveis com KeyPhraseExtractionSkill
- Idiomas compatíveis com LanguageDetectionSkill
- Idiomas compatíveis com PIIDetectionSkill
- Idiomas compatíveis com SentimentSkill
- Idiomas compatíveis com o tradutor
- Idiomas com suporte para SplitSkill de texto:
da, de, en, es, fi, fr, it, ko, pt
Warning: Skill input was truncated
As habilidades cognitivas limitam o comprimento 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 é executada, mas não sobre todos os dados.
No exemplo LanguageDetectionSkill abaixo, o 'text' campo de entrada poderá disparar 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 você 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. Examine os avisos para entender como seus dados são afetados e se novas 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 um 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 inacabada baseia-se em ter documentos ordenados pela _ts coluna. O indexador usa o carimbo de data/hora para determinar qual documento deve ser selecionado em seguida. Se a _ts coluna estiver ausente ou se o indexador não puder determinar se uma consulta personalizada é ordenada por ela, 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 de configuração.
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 Armazenamento de Tabelas tem limites de quão grandes propriedades de entidade podem ser. Cadeias de caracteres podem ter 32.000 caracteres 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 contornar esse problema, evite projetar linhas com propriedades de strings 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 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 os 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 o 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ê achar 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 elemento 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. 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 um elemento que não seja uma 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 que usam para detectar alterações. Um desses requisitos é que essa coluna seja atualizada sempre 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 são alteradas em todas as atualizações. Para contornar esse problema, selecione uma coluna diferente para a política de detecçã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 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 tem entre 1 byte e 4 bytes de comprimento. UTF-16 é uma codificação de comprimento fixo em que cada caractere tem 2 bytes de comprimento. UTF-16 tem duas variantes big endian diferentes 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 (pequeno endian) | 0xFF 0xFE |
| UTF-8 | 0xEF 0xBB 0xBF |
Se nenhuma marca de ordem de byte 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
Coleções com políticas de indexação lentas não podem ser consultadas consistentemente, resultando em dados ausentes 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 pelo serviço de linguagem das Foundry Tools. 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 previsões de modelo.
Error: Cannot write more bytes to the buffer than the configured maximum buffer size
Os indexadores têm limites de tamanho de documento. Verifique se os documentos na fonte de dados são menores que o limite de tamanho suportado, conforme documentado para o seu nível de serviço.
Error: Failed to compare value 'X' of type M to value 'Y' of type N.
Esse erro geralmente ocorre em indexadores SQL do Azure quando o tipo de coluna de origem usado dataChangeDetectionPolicy não corresponde ao que o indexador espera, especialmente se convertHighWaterMarkToRowVersion estiver ativado.
Por exemplo, se a coluna usada para detecção de alterações for do tipo datetime, mas o indexador espera um tipo rowversion porque convertHighWaterMarkToRowVersion está habilitado, essa incompatibilidade causará um erro.
Verifique o tipo de dados para a coluna 'High Water Mark' na fonte e atualize a configuração do indexador adequadamente. Depois de verificado e atualizado, redefina e execute novamente o indexador para processar os valores da coluna.
Error: Access denied to Virtual Network/Firewall rules.
Esse erro normalmente ocorre devido a um dos seguintes:
- Restrições de firewall nos recursos do Azure exigidos pelo indexador, dependendo da configuração. Esses recursos podem incluir: a fonte de dados, a conta de Armazenamento do Azure (usada para sessões de depuração, enriquecimento incremental ou repositório de conhecimento), a Função do Azure (usada para habilidades personalizadas da API Web) ou as implantações do Microsoft Foundry usadas durante o enriquecimento de IA.
- Configurações de ponto de extremidade privado que bloqueiam o acesso do indexador a esses recursos.
Verifique se o indexador tem acesso aos componentes de instalação examinando as configurações de recursos para confirmar se eles permitem o tráfego para todos os serviços necessários:
Error: Credentials provided in the connection string are invalid or have expired.
Esse erro ocorre quando o indexador do Azure AI Search não pode se autenticar usando a cadeia de conexão fornecida ou tem problemas ao acessar a conta de armazenamento para verificar as credenciais.
| Causa possível | Detalhes/exemplo | Resolução |
|---|---|---|
| Chave expirada ou substituída | Uma cadeia de conexão contém uma chave desatualizada que não funciona mais. | Vá para o recurso que está sendo contatado (por exemplo, Armazenamento do Azure ou SQL do Azure) e copie as chaves de acesso mais recentes se estiver usando a autenticação baseada em chave e atualize a fonte de dados ou a cadeia de conexão adequadamente. |
| Identidade gerenciada não habilitada ou acesso não concedido | A identidade gerenciada do serviço de Pesquisa de IA está habilitada, mas não tem as funções de acesso necessárias. | - Habilite a identidade gerenciada atribuída pelo sistema ou pelo usuário no Serviço de pesquisa. - Atribua as funções apropriadas à identidade (por exemplo, Storage Blob Data Reader para contêineres de blob). Cada fonte de dados tem seus próprios requisitos de permissão. |
| Rede/firewall bloqueia o acesso à identidade | O recurso contatado está configurado para restringir o acesso à rede. | Defina as configurações de rede para permitir o acesso ao Azure AI Search. |
| A autorização de chave foi desabilitada | Acesso de chave compartilhada removido na origem, mas a configuração de fonte de dados do serviço de Pesquisa ainda usa autenticação baseada em chave. | Use a autenticação de identidade gerenciada e verifique se as permissões baseadas em função estão em vigor. Do ponto de vista do Armazenamento do Azure, isso significa que a funcionalidade de autorização de chave compartilhada é bloqueada, seja da própria conta de armazenamento ou imposta por meio das Políticas do Azure de nível empresarial. |