Interroger des données dans un index Recherche Azure AI

Effectué

La conception des index et la conception des requêtes sont étroitement liées. Après avoir créé l’index, nous pouvons exécuter des requêtes. Il est essentiel de comprendre que le schéma de l’index détermine les requêtes qui peuvent trouver réponse.

Les requêtes de la Recherche Azure AI peuvent être envoyées au format HTTP ou API REST, tandis que la réponse peut être retournée au format JSON. Les requêtes peuvent spécifier les champs qui sont recherchés et retournés, la mise en forme des résultats de la recherche ainsi que le mode de filtrage ou de tri des résultats. Une requête qui ne spécifie pas le champ dans lequel effectuer la recherche s’exécute par rapport à tous les champs de l’index disponibles pour la recherche.

La Recherche Azure AI prend en charge deux types de syntaxe : simple et Lucene complet. La syntaxe simple couvre tous les scénarios de requête courants, tandis que la syntaxe Lucene complète est utile pour les scénarios avancés.

Demandes de requêtes simples

Une demande de requête est une liste de mots (termes de recherche) et d’opérateurs de requête (simples ou complets) représentant ce que vous souhaiteriez voir retourné dans un jeu de résultats. Examinons les composants d’une requête de recherche. Considérez cet exemple de recherche simple :

coffee (-"busy" + "wifi")

Cette requête tente de trouver du contenu sur le café, à l’exclusion de « busy » et avec « wifi ».

La segmentation de la requête en composants, cela se compose de termes de recherche (coffee), auxquels s’ajoutent deux expressions textuelles ("busy" et "wifi") et des opérateurs (-, + et ( )). Dans l’index de recherche, les termes de recherche peuvent avoir des correspondances dans n’importe quel ordre ou à n’importe quel emplacement dans le contenu. Les deux expressions peuvent avoir des correspondances seulement exactement avec ce qui est spécifié : ainsi, wi-fi ne serait pas une correspondance. Enfin, une requête peut contenir des opérateurs. Dans cet exemple, l’opérateur - indique au moteur de recherche que ces expressions NE DOIVENT PAS se trouver dans les résultats. Les parenthèses regroupent les termes et définissent leur priorité.

Par défaut, le moteur de recherche peut trouver des correspondances pour n’importe quel terme contenu dans la requête. Un contenu contenant simplement coffee serait une correspondance. Dans cet exemple, l’utilisation de -"busy" produit des résultats de recherche incluant tout le contenu qui ne contient pas la chaîne exacte « busy ».

La syntaxe de requête simple dans la Recherche Azure AI exclut certaines fonctionnalités plus complexes de la syntaxe de requête Lucene complète et constitue la syntaxe de recherche par défaut pour les requêtes.

Vous pouvez en savoir plus sur la syntaxe des requêtes dans la documentation.