Ajouter une vérification orthographique aux requêtes dans Recherche Azure AI (préversion)

Note

Recherche Azure AI est disponible via le portail Azure, les API REST et les SDK Azure. Il sous-tend également Foundry IQ, la couche de connaissances managée qui transforme le contenu d’entreprise en bases de connaissances réutilisables et prenant en charge les autorisations pour les agents dans le portail Microsoft Foundry.

Important

Les fonctionnalités, capacités ou propriétés marquées (préversion) ne sont pas couvertes par un accord de niveau de service, ne sont pas recommandées pour les workloads de production et peuvent être modifiées ou faire l’objet de restrictions avant leur mise à disposition générale. Les Recherche Azure AI termes de la préversion s'appliquent à toutes les fonctionnalités d'aperçu, qu'il s'agisse d'une fonctionnalité autonome ou d'une partie d'une fonctionnalité généralement disponible.

Vous pouvez améliorer le rappel en corrigeant les mots dans une requête avant d’atteindre le moteur de recherche. Le speller paramètre (préversion) est pris en charge pour tous les types de requêtes texte (non vectoriels) et est disponible via le portail Azure, les API REST d’aperçu et les versions bêta des bibliothèques de Kit de développement logiciel (SDK) Azure.

Conditions préalables

  • Un service de recherche au niveau De base ou supérieur, dans n’importe quelle région.

  • Index de recherche existant avec du contenu dans une langue prise en charge.

  • Requête dont speller=lexicon et queryLanguage sont définis sur une langue prise en charge. La vérification orthographique fonctionne sur les chaînes passées dans le paramètre search. Il n’est pas pris en charge pour les filtres, la recherche approximative, la recherche générique, les expressions régulières ou les requêtes vectorielles.

Utilisez un client de recherche qui prend en charge les API d’aperçu sur la requête. Vous pouvez utiliser un client REST ou des versions bêta des SDK Azure.

Bibliothèque cliente Versions
REST API Versions 2020-06-30-Preview et ultérieures. Nous vous recommandons la dernière API de préversion : 2026-08-01-preview
Kit de développement logiciel (SDK) Azure pour .NET version 11.7.0-beta.4
Kit de développement logiciel (SDK) Azure pour Java version 11.8.0-beta.7
Kit de développement logiciel (SDK) Azure pour JavaScript version 11.3.0-beta.8
Kit de développement logiciel (SDK) Azure pour Python version 11.6.0b12

L’exemple suivant utilise l’index hotels-sample pour illustrer la correction orthographique sur une requête de texte simple. Sans correction orthographique, la requête retourne zéro résultat. Après correction, la requête retourne un résultat pour le complexe familial 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
}

Correction orthographique complète avec Lucene

La correction orthographique se produit sur des termes de requête individuels qui subissent une analyse de texte, c’est pourquoi vous pouvez utiliser le paramètre orthographique avec certaines requêtes Lucene, mais pas d’autres.

  • Les formulaires de requête incompatibles qui contournent l’analyse du texte sont les suivants : caractère générique, expression régulière, floue
  • Les formulaires de requête compatibles sont les suivants : recherche par champ, proximité, amélioration des termes

Cet exemple utilise la recherche en champ sur le champ Catégorie, avec une syntaxe Lucene complète et un terme de requête mal orthographié. En incluant le vérificateur orthographique, la faute de frappe dans « Suiite » est corrigée et la requête aboutit avec succès.

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
}

Correction orthographique avec classement sémantique

Cette requête, avec des fautes de frappe dans chaque terme sauf un, subit des corrections orthographiques pour retourner les résultats pertinents. Pour plus d’informations, consultez Configurer le ranker sémantique.

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
}

Langues prises en charge

Vous trouverez des valeurs queryLanguage valides dans le tableau suivant, copiées dans la liste des langues prises en charge (référence de l’API REST).

Langue langage de requête
Anglais [EN] EN, EN-US (valeur par défaut)
Espagnol [ES] ES, ES-ES (valeur par défaut)
Français [FR] FR, FR-FR (par défaut)
Allemand [DE] DE, DE-DE (valeur par défaut)
Néerlandais [NL] NL, NL-BE, NL-NL (par défaut)

Note

Auparavant, alors que le classeur sémantique était en préversion, le paramètre queryLanguage était également utilisé pour le classement sémantique. Le ranker sémantique est désormais indépendant du langage.

Considérations relatives à l’analyseur de langage

Les index qui contiennent du contenu non anglais utilisent souvent des analyseurs de langue sur des champs non-anglais pour appliquer les règles linguistiques de la langue native.

Lorsque vous ajoutez une vérification orthographique au contenu qui subit également une analyse linguistique, vous pouvez obtenir de meilleurs résultats à l’aide de la même langue pour chaque étape d’indexation et de traitement des requêtes. Par exemple, si le contenu d’un champ a été indexé à l’aide de l’analyseur de langue « fr.microsoft », les requêtes et la vérification orthographique doivent tous utiliser une bibliothèque de lexique ou de langue française d’un formulaire.

Pour récapcaper l’utilisation des bibliothèques de langage dans Recherche Azure AI :

  • Les analyseurs de langage peuvent être appelés pendant l’indexation et l’exécution des requêtes, et sont Apache Lucene (par exemple, « de.lucene ») ou Microsoft (« de.microsoft »).

  • Les lexicons linguistiques appelés pendant la vérification orthographique sont spécifiés à l’aide de l’un des codes de langue dans la table de langues prise en charge .

Dans une requête de requête, la valeur affectée à queryLanguage s’applique à speller.

Note

La cohérence linguistique entre différentes valeurs de propriété n’est une préoccupation que si vous utilisez des analyseurs de langage. Si vous utilisez des analyseurs indépendantes du langage (tels que le mot clé, simple, standard, stop, espace blanc ou standardasciifolding.lucene), la queryLanguage valeur peut être tout ce que vous voulez.

Bien que le contenu d’un index de recherche puisse être composé dans plusieurs langues, l’entrée de requête est probablement en une seule. Le moteur de recherche ne vérifie pas la compatibilité de queryLanguage, l’analyseur de langage et la langue dans laquelle le contenu est composé. Veillez donc à étendre les requêtes en conséquence pour éviter de produire des résultats incorrects.

Étapes suivantes