Adicionar corretor ortográfico às consultas no Pesquisa de IA do Azure (pré-visualização)

Nota

O Pesquisa de IA do Azure está disponível através do portal Azure, APIs REST e SDKs do Azure. Também sustenta o Foundry IQ, a camada de conhecimento gerida que transforma conteúdos empresariais em bases de conhecimento reutilizáveis e conscientes de permissões para agentes no portal Microsoft Foundry.

Importante

Funcionalidades, capacidades ou propriedades assinaladas (pré-visualização) não são abrangidas por um acordo de nível de serviço, não são recomendadas para cargas de trabalho em produção e podem mudar ou ser limitadas antes de se tornarem geralmente disponíveis. Os termos de pré-visualização do Pesquisa de IA do Azure aplicam-se a todas as funcionalidades de pré-visualização, sejam independentes ou parte de uma funcionalidade geralmente disponível.

Pode melhorar a recordação corrigindo a ortografia das palavras numa consulta antes de chegarem ao motor de busca. O speller parâmetro (pré-visualização) é suportado para todos os tipos de consulta de texto (não vetoriais) e está disponível através do portal Azure, das APIs REST de pré-visualização e das versões beta das bibliotecas SDK do Azure.

Pré-requisitos

  • Um serviço de pesquisa no nível Básico ou superior, em qualquer região.

  • Um índice de pesquisa existente com conteúdo numa língua suportada.

  • Um pedido de consulta que tenha speller=lexicon e queryLanguage definido para uma linguagem suportada. O corretor ortográfico funciona nas strings passadas no parâmetro search. Não é suportado para filtros, pesquisa difusa, pesquisa por wildcard, expressões regulares ou consultas vetoriais.

Use um cliente de pesquisa que suporte APIs de pré-visualização no pedido de consulta. Pode usar um cliente REST ou versões beta da SDKs do Azure.

Biblioteca de cliente Versões
API REST Versões 2020-06-30-Preview e posteriores. Recomendamos a API de pré-visualização 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 seguinte utiliza o índice de exemplo de hotéis para demonstrar correção ortográfica numa consulta simples de texto. Sem correção ortográfica, a consulta não retorna resultados. Após a correção, a consulta devolve 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 Lucene completo

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

  • Formulários de consulta incompatíveis que contornam a análise de texto incluem: coringa, regex, fuzzy
  • Formulários de consulta compatíveis incluem: pesquisa por campos, proximidade, aumento de termos

Este exemplo utiliza pesquisa em campo sobre o campo Categoria, com sintaxe completa Lucene e um termo de consulta com erros ortográficos. Ao incluir a ferramenta de verificação ortográfica, o erro tipográfico 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

Esta consulta, com erros ortográficos em todos os termos exceto um, sofre correções ortográficas para devolver resultados relevantes. Para saber mais, consulte Configurar 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
}

Línguas suportadas

Os valores válidos para queryLanguage podem ser encontrados na tabela seguinte, copiados da lista de linguagens suportadas (referência da API REST).

Linguagem linguagem de consulta
Inglês [EN] EN, EN-US (padrão)
Espanhol [ES] ES, ES-ES (pré-definido)
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 ranker semântico estava em visualização prévia, o parâmetro queryLanguage também era usado para a classificação semântica. Agora, o ranker semântico é independente da linguagem.

Considerações sobre analisadores de linguagem

Índices que contêm conteúdo não inglês frequentemente utilizam analisadores de línguas em campos não ingleses para aplicar as regras linguísticas da língua nativa.

Ao adicionar o corretor ortográfico a conteúdos que também passam por análise linguística, pode obter melhores resultados usando a mesma linguagem em cada etapa de indexação e processamento de consultas. Por exemplo, se o conteúdo de um campo foi indexado usando o analisador de línguas "fr.microsoft", então as consultas e o corretor ortográfico devem usar um léxico francês ou uma biblioteca linguística de algum tipo.

Para resumir como as bibliotecas de linguagem são usadas no Pesquisa de IA do Azure:

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

  • Os léxicos linguísticos invocados durante a verificação ortográfica são especificados usando um dos códigos linguísticos na tabela de línguas suportada .

Num pedido de consulta, o valor atribuído a queryLanguage aplica-se a speller.

Nota

A consistência da linguagem entre vários valores de propriedades só é uma preocupação se estiver a usar analisadores de linguagem. Se estiver a usar analisadores independentes da linguagem (como palavra-chave, simples, standard, stop, espaço em branco, ou standardasciifolding.lucene), então o valor queryLanguage pode ser o que quiser.

Embora o conteúdo num índice de pesquisa possa ser composto em várias línguas, a introdução da consulta é muito provavelmente numa delas. O motor de busca não verifica a compatibilidade entre queryLanguage, analisador de linguagem e a linguagem em que o conteúdo é composto, por isso certifique-se de definir as consultas adequadamente para evitar resultados incorretos.

Próximos passos