Pour fournir des résultats de recherche appropriés pour une requête utilisateur, vous devez parfois modifier la requête. Par exemple, supposons que vous créez un vertical de recherche pour Images. Quand quelqu’un tape une requête dans le vertical Images, vous devez modifier la requête afin qu’elle retourne uniquement les résultats de recherche qui sont Images.
Pour modifier une requête, vous utilisez le Générateur de requêtes pour configurer une transformation de requête. Vous pouvez configurer une transformation de requête pour remplacer les propriétés d’une requête, telles que la source des résultats que la requête utilisera pour obtenir les résultats de la recherche, ou l’ordre de tri qu’elle utilisera lorsqu’elle affichera les résultats de la recherche. La transformation remplace également le texte de la requête à l’aide d’un modèle de requête que vous pouvez configurer. Le modèle de requête est le texte qui remplacera le texte de la requête, et le modèle peut contenir des variables de requête.
Une variable de requête est un espace réservé pour une valeur. Lorsqu’une transformation remplace le texte d’une requête par son modèle de requête, elle remplace également les variables de requête dans le modèle par des valeurs spécifiques.
Une transformation remplace les variables de requête contextuelles par des valeurs relatives au contexte de requête. Le tableau suivant présente quelques exemples de variables de requête contextuelles.
Une transformation remplace cette variable de requête contextuelle |
Avec ce |
---|---|
{User.Name} |
Nom de l’utilisateur qui a tapé la requête |
{Site.URL} |
Site où l’utilisateur a tapé la valeur |
{Aujourd’hui} |
Date du jour |
Une transformation remplace les variables de requête liées par un certain texte qui se trouve dans la requête de l’utilisateur. Le tableau suivant présente quelques exemples de variables de requête liées.
Une transformation remplace cette variable de requête liée |
Avec ce |
---|---|
{searchBoxQuery} |
Requête que l’utilisateur a tapée |
{searchTerms} |
Requête que l’utilisateur a tapée, telle que modifiée par la transformation la plus récente |
Vous pouvez utiliser une variable de requête liée lorsque vous ajoutez une restriction à une requête, par exemple lorsque vous limitez une requête à un type de contenu particulier. Par exemple, pour une recherche verticale d’images, vous pouvez configurer une transformation de requête qui ajoute « contenttype :picture » au texte de la requête à l’aide du modèle de requête « {searchTerms} contenttype :picture ». Si un utilisateur tape la requête « moon » dans cette verticale, la transformation remplace « {searchTerms} » par « moon ». Par conséquent, la transformation de requête remplace la requête par « moon contenttype :picture ».
Vous pouvez configurer des transformations de requête à trois endroits :
-
Dans un composant WebPart, tel qu’un composant WebPart Résultats de la recherche. Configurez une transformation dans un composant WebPart lorsque vous n’avez pas besoin d’apporter les mêmes modifications aux requêtes ailleurs.
-
Dans une règle de requête, qui spécifie que certaines actions seront effectuées uniquement si certaines conditions sont remplies. Deux de ces actions utilisent une transformation pour modifier la requête :
-
Ajoutez un bloc de résultats sur la page des résultats de la recherche. Cette action crée une copie de la requête et sa transformation ne modifie que la copie.
-
Modifier les résultats classés. Cette action modifie la requête que l’utilisateur a tapée.
-
-
Dans la source des résultats que la requête utilise pour obtenir les résultats de la recherche.
Une requête utilisateur est transformée par le composant WebPart, puis par toutes les règles de requête qui s’appliquent, et enfin par la source du résultat. Par conséquent, lorsque vous configurez une transformation dans une source de résultats, vous savez que les modifications de transformation ne seront pas ignorées ou remplacées, car la source de résultats transforme la requête en dernier. Par exemple, pour vous assurer qu’une recherche verticale Images retourne uniquement des images, vous devez configurer la transformation appropriée dans une source de résultats, puis configurer le composant WebPart dans la zone verticale de recherche pour utiliser cette source de résultats.
Pour plus d’informations, consultez Vue d’ensemble du traitement des requêtes sur TechNet.