Adicionar verificação ortográfica a consultas em Pesquisa de IA do Azure  (versão prévia)

Nota

Pesquisa de IA do Azure  está disponível por meio do portal Azure, APIs REST e SDKs do Azure. Ele também sustenta o IQ do Foundry, a camada de conhecimento gerenciado que transforma o conteúdo da empresa em bases de conhecimento reutilizáveis e com reconhecimento de permissão para agentes no portal do Microsoft Foundry.

Importante

Recursos, funcionalidades ou propriedades marcados como (versão prévia) não são cobertos por um contrato de nível de serviço (SLA), não são recomendados para cargas de trabalho de produção e podem mudar ou ser restringidos antes da disponibilidade geral. Os termos de visualização do Pesquisa de IA do Azure  se aplicam a toda funcionalidade em visualização, seja autônoma ou parte de um recurso de disponibilidade geral.

Você pode melhorar o recall corrigindo palavras em uma consulta antes que elas cheguem ao mecanismo de pesquisa. O speller parâmetro (versão prévia) tem suporte para todos os tipos de consulta de texto (não vetor) e está disponível por meio do portal Azure, das APIs REST de visualização e das versões beta das bibliotecas SDK do Azure.

Pré-requisitos

  • Um serviço de pesquisa na camada Básica ou superior, em qualquer região.

  • Um índice de pesquisa existente com conteúdo em um idioma com suporte.

  • Uma solicitação de consulta que tem speller=lexicon e queryLanguage é definida como um idioma com suporte. A verificação ortográfica funciona em cadeias de caracteres passadas no parâmetro search. Não há suporte para filtros, pesquisa difusa, pesquisa curinga, expressões regulares ou consultas de vetor.

Use um cliente de pesquisa que dê suporte a APIs de visualização na solicitação de consulta. Você pode usar um cliente REST ou versões beta do SDKs do Azure.

Biblioteca de clientes Versões
API REST Versões 2020-06-30-Preview e posteriores. Recomendamos a API de versão prévia mais recente: 2026-08-01-preview
SDK do Azure para .NET versão 11.7.0-beta.4
SDK do Azure para Java versão 11.8.0-beta.7
SDK do Azure para JavaScript versão 11.3.0-beta.8
SDK do Azure para Python versão 11.6.0b12

O exemplo a seguir usa o índice de exemplo de hotéis para demonstrar a correção ortográfica em uma consulta de texto simples. Sem correção ortográfica, a consulta retorna zero resultados. Com a correção, a consulta retorna um resultado para o resort familiar de Johnson.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "famly acitvites",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "queryType": "simple",
    "select": "HotelId,HotelName,Description,Category,Tags",
    "count": true
}

Correção ortográfica com todos os recursos do Lucene

A correção ortográfica ocorre em termos de consulta individuais que passam por análise de texto, razão pela qual você pode usar o parâmetro ortográfico com algumas consultas Lucene, mas não outras.

  • Formulários de consulta incompatíveis que ignoram a análise de texto incluem: curinga, regex, difuso
  • Formulários de consulta compatíveis incluem: pesquisa em campo, proximidade, aumento de termos

Este exemplo usa a pesquisa por campo no campo Categoria, com sintaxe Lucene completa e um termo de consulta digitado incorretamente. Ao incluir o verificador ortográfico, o erro de digitação em "Suiite" é corrigido e a consulta é bem-sucedida.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "Category:(Resort and Spa) OR Category:Suiite",
    "queryType": "full",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "select": "Category",
    "count": true
}

Correção ortográfica com classificação semântica

Essa consulta, com erros de digitação em cada termo, exceto um, passa por correções ortográficas para retornar resultados relevantes. Para saber mais, consulte Configurar o classificador semântico.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "hisotoric hotell wiht great restrant nad wiifi",
    "queryType": "semantic",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "searchFields": "HotelName,Tags,Description",
    "select": "HotelId,HotelName,Description,Category,Tags",
    "count": true
}

Idiomas com suporte

Valores válidos para queryLanguage os quais podem ser encontrados na tabela a seguir, copiados da lista de idiomas com suporte (referência à API REST).

Linguagem linguagem de consulta
Inglês [EN] EN, EN-US (padrão)
Espanhol [ES] ES, ES-ES (padrão)
Francês [FR] FR, FR-FR (padrão)
Alemão [DE] DE, DE-DE (padrão)
Holandês [NL] NL, NL-BE, NL-NL (padrão)

Nota

Anteriormente, enquanto o classificador semântico estava em versão prévia, o queryLanguage parâmetro também era usado para classificação semântica. O classificador semântico agora é independente da linguagem.

Considerações do analisador de linguagem

Índices que contêm conteúdo não inglês geralmente usam analisadores de idiomas em campos que não são em inglês para aplicar as regras linguísticas do idioma nativo.

Ao adicionar verificação ortográfica ao conteúdo que também passa por análise de idioma, você pode obter melhores resultados usando o mesmo idioma para cada etapa de indexação e processamento de consulta. Por exemplo, se o conteúdo de um campo foi indexado usando o analisador de idioma "fr.microsoft", então consultas e verificação ortográfica devem usar um léxico francês ou biblioteca de idiomas de alguma forma.

Para recapitular como as bibliotecas de idiomas são usadas no Pesquisa de IA do Azure :

  • Os analisadores de linguagem podem ser invocados durante a indexação e a execução da consulta e são Apache Lucene (por exemplo, "de.lucene") ou Microsoft ("de.microsoft).

  • Os léxicos de linguagem invocados durante a verificação ortográfica são especificados usando um dos códigos de idioma na tabela de idiomas com suporte .

Em uma solicitação de consulta, o valor atribuído a queryLanguage aplica-se a speller.

Nota

A consistência da linguagem em vários valores de propriedade é apenas uma preocupação se você estiver usando analisadores de idioma. Se você estiver usando analisadores independentes de linguagem (como palavra-chave, simples, padrão, parada, espaço em branco ou standardasciifolding.lucene), o queryLanguage valor poderá ser o que você quiser.

Embora o conteúdo em um índice de pesquisa possa ser composto em vários idiomas, a entrada da consulta é provavelmente em um. O mecanismo de pesquisa não verifica a compatibilidade do analisador queryLanguage de idiomas e o idioma no qual o conteúdo é composto, portanto, certifique-se de adequar as consultas corretamente para evitar a geração de resultados incorretos.

Próximas etapas