Rechercher dans un index

Effectué

Une fois que vous avez créé et renseigné un index, vous pouvez l’interroger pour rechercher des informations dans le contenu du document indexé. Bien que vous puissiez récupérer des entrées d’index en fonction de la correspondance de valeurs de champ simple, la plupart des solutions de recherche utilisent la sémantique de recherche en texte intégral pour interroger un index.

La recherche en texte intégral correspond aux solutions de recherche qui analysent le contenu des documents texte pour rechercher des termes de requête. Les requêtes de recherche en texte intégral dans Recherche Azure AI sont basées sur la syntaxe de requête Lucene , qui fournit un ensemble complet d’opérations de requête pour la recherche, le filtrage et le tri des données dans les index. Recherche cognitive Azure prend en charge deux variantes de la syntaxe Lucene :

  • Simple : syntaxe intuitive qui permet d’effectuer facilement des recherches de base qui correspondent aux termes de requête littéraux soumis par un utilisateur.
  • Complète : une syntaxe étendue qui prend en charge le filtrage complexe, les expressions régulières et d’autres requêtes plus sophistiquées.

Les applications clientes envoient des requêtes à Recherche Azure AI en spécifiant une expression de recherche ainsi que d’autres paramètres qui déterminent la façon dont l’expression est évaluée et les résultats retournés. Voici quelques paramètres courants soumis avec une requête :

  • search : expression de recherche qui contient les termes à rechercher.
  • querytype : la syntaxe Lucene à évaluer (simple ou complète).
  • searchFields : les champs d’index à rechercher.
  • select : les champs à inclure dans les résultats.
  • searchMode : critères d’inclusion de résultats basés sur plusieurs termes de recherche. Supposons, par exemple, que vous recherchez un hôtel confortable. Une valeur searchMode de Any renvoie les documents qui contiennent « confortable », « hôtel », ou les deux, alors qu’une valeur searchMode de All restreint les résultats aux documents qui contiennent à la fois « confortable » et « hôtel ».

Le traitement des requêtes se compose de quatre étapes :

  1. Analyse des requêtes. L’expression de recherche est évaluée et reconstruite sous la forme d’une arborescence de sous-requêtes appropriées. Les sous-requêtes peuvent inclure des requêtes de terme (recherche de mots individuels spécifiques dans l’expression de recherche, par exemple hôtel), des requêtes d’expression (recherche de phrases à plusieurs termes spécifiées entre guillemets dans l’expression de recherche, par exemple, « parking gratuit ») et des requêtes de préfixe (recherche de termes avec un préfixe spécifique, par exemple aéro*, qui correspondrait à aéroport, aéronef et aérodrome).
  2. Analyse lexicale : les termes de la requête sont analysés et affinés en fonction des règles linguistiques. Par exemple, le texte est converti en minuscules et les mots vides non essentiels (tels que « le », « un », « est », etc.) sont supprimés. Les mots sont ensuite convertis en forme racine (par exemple, « confortable » peut être simplifié en « confort ») et les mots composites sont divisés en termes constituants.
  3. Récupération de document : les termes de requête sont mis en correspondance avec les termes indexés, et l’ensemble de documents correspondants est identifié.
  4. Scoring : un score de pertinence est attribué à chaque résultat sur la base d’un calcul de fréquence de terme/de document inverse (TF/IDF).

Remarque

Pour plus d’informations sur l’interrogation d’un index et des détails sur syntaxe simple et complète , consultez types de requêtes et composition dans Recherche Azure AI dans la documentation Recherche Azure AI.