Partager via


Utilisation du protocole de recherche

Le protocole search : application est une convention extensible permettant d'appeler l'application de recherche de bureau sous Windows Vista avec le Service Pack 1 (SP1) et les versions ultérieures. Le protocole a été créé dans Windows Vista avec SP1 pour donner à Windows un moyen de déterminer et d'appeler l'application de recherche de bureau par défaut.

La syntaxe du protocole fournit un certain nombre de paramètres utiles pour effectuer des recherches courantes sur le bureau, tels que les termes de recherche saisis par l'utilisateur ou l'emplacement à partir duquel la recherche a été lancée. Lorsque les utilisateurs effectuent une recherche à partir de l'un des deux points d'entrée disponibles (le menu Démarrer ou l'Explorateur Windows), le système d'exploitation utilise le protocole de recherche pour lancer l'application de recherche par défaut sur le bureau. Pour ce faire, il ajoute les termes de recherche saisis par l'utilisateur à la syntaxe du protocole de recherche standard et transmet ces informations à l'application enregistrée en tant qu'application de recherche par défaut.

Si aucune autre application de recherche de bureau n'est installée, une recherche saisie dans ces points d'entrée lance l'Explorateur de recherche Windows. Toutefois, les développeurs tiers peuvent créer, installer et enregistrer leurs applications pour gérer le protocole de recherche et devenir l'application de recherche par défaut. Ces applications doivent prendre en charge la syntaxe du protocole de recherche et s'enregistrer avec la fonctionnalité Programmes par défaut pour garantir une expérience transparente avec Windows.

Si vous développez une application destinée à utiliser ou à s'appuyer sur une application de recherche de bureau spécifique, vous ne devez pas dépendre exclusivement du protocole search :. Étant donné que de nombreuses applications peuvent posséder le protocole search:, il n'y a aucune garantie que l'application de recherche de bureau que vous visez le possède à un moment donné. Au lieu de cela, vous devez utiliser un protocole de recherche privé défini par l'application de recherche de bureau ciblée. Cela signifie que les applications de recherche de bureau destinées à servir de plate-forme pour des applications tierces doivent prendre en charge à la fois le protocole search: et leur propre protocole de recherche propriétaire.

Remarque

Le protocole search: ne remplace pas le protocole propriétaire search-ms:. Les applications peuvent toujours utiliser le protocole search-ms: pour lancer l'Explorateur de recherche Windows ou pour interroger silencieusement l'indexeur de recherche Windows.

 

Cette rubrique couvre les sujets suivants :

Syntaxe

Le protocole de recherche utilise la syntaxe standard suivante, codée en URL :

search:parameter=value[&parameter=value]&

La syntaxe commence par l'identification du protocole lui-même (search:). Les paires paramètre/valeur sont des arguments transmis au moteur de recherche, comme décrit dans le tableau suivant, qui présente tous les paramètres possibles pour la syntaxe du protocole de recherche.

Paramètre active Description
query Texte codé en URL Le texte de la requête saisi par l'utilisateur.
inputlocale Tout identifiant de code de langue (LCID) valide Le LCID qui identifie la langue d'entrée de la requête.
keywordlocale Tout LCID valide Le LCID qui identifie la langue de la version internationale de l'indexeur. La valeur par défaut est 1033 (en-us).
crumb Instruction AQS Cet argument limite l'étendue de la recherche. Dans Windows Vista, le protocole de recherche prend en charge l'AQS complet ainsi qu'une implémentation spéciale pour un argument location. Dans Windows XP, le protocole de recherche prend également en charge l'intégralité de l'AQS, à l'exception d'une implémentation spéciale de kind et store.
syntax NQS, AQS (non sensible à la casse) Syntaxe de requête à utiliser pour rechercher dans l'index : soit Natural Query Syntax, soit Advanced Query Syntax (AQS). AQS est la syntaxe par défaut et est toujours supposée analysée et prise en charge.
stackedby Toute propriété valide du système de propriétés Une propriété qui spécifie la colonne par laquelle les résultats doivent être empilés.
subquery Un chemin d'accès entièrement spécifié pour un fichier de recherche sauvegardé (*.search-ms). Les résultats de la sous-requête sont utilisés comme source de la requête. En d'autres termes, les termes de la requête sont recherchés dans les résultats de la sous-requête.
displayname Chaîne codée en URL Le nom de la recherche en cours.

 

Utilisation du protocole search: par Windows Vista avec SP1

Windows Vista avec SP1 possède plusieurs points d'entrée à partir desquels il appelle le protocole search:. Ces points d'entrée sont décrits ci-dessous, ainsi que la syntaxe commune associée à chacun d'entre eux.

Point d'entrée du protocole de recherche Emplacement Requête appelée
Recherche partout Menu Démarrer search:query=<Search Term>
Recherche partout Explorateur Windows search:query=<Search Term>&crumb=location:<LOCATION>
Touche Windows + F N’importe où recherche :
Ctrl+F Explorateur Windows search:query=<Search Term>&crumb=location:<LOCATION>
F3 Menu Démarrer recherche :
F3 Explorateur Windows search:query=<Search Term>&crumb=location:<LOCATION>

 

Les points d'entrée du protocole de recherche de Windows Vista avec SP1 n'exploitent pas tous les paramètres possibles du protocole de recherche. Les applications qui ne s'intéressent qu'au traitement des appels au protocole de recherche de Windows Vista avec SP1 peuvent utiliser le tableau suivant comme guide pour le minimum qu'elles doivent mettre en œuvre.

Paramètre Utilisé par Windows ? Comment Windows Vista avec SP1 l'utilise lors de l'appel du protocole de recherche :
query Oui Le texte de la requête saisi par l'utilisateur.
crumb Oui crumb utilise l'argument location pour spécifier l'origine de la requête.
subquery Oui Les résultats de l'argument Sous-requête sont utilisés comme champ d'application des éléments à rechercher. Cette méthode est généralement utilisée lorsqu'un utilisateur utilise un fichier .search-ms pour effectuer une recherche et qu'il appelle ensuite l'application de recherche de bureau par défaut à partir de cette recherche.
inputlocale Non Pas utilisé pour l'instant.
keywordlocale Non Pas utilisé pour l'instant.
syntax Non Pas utilisé pour l'instant.
stackedby Non Pas utilisé pour l'instant.
displayname Non Pas utilisé pour l'instant.

 

Exemples

Si un utilisateur saisit « Microsoft » dans le menu Démarrer et clique sur Rechercher partout, l'appel au protocole de recherche qui en résulte est effectué :

search:query=microsoft&

Si un utilisateur saisit « Seattle » dans l'Explorateur Windows dans C:\NMyFolder et qu'il clique ensuite sur Search Everywhere, l'appel suivant est effectué, en utilisant des caractères d'échappement pour ':' et '\N' :

search:query=seattle&crumb=location:C%3A%5CMyFolder

Enregistrement de l'application qui gère le protocole

Étant donné que plusieurs applications peuvent se disputer le protocole de recherche, vous devez enregistrer votre application avec la fonctionnalité Programmes par défaut lors de l'installation afin de permettre à l'utilisateur de configurer plus facilement la valeur par défaut. En plus des procédures d'installation normalement pratiquées sous Windows XP, une application basée sur Windows Vista doit s'enregistrer avec la fonctionnalité Programmes par défaut afin que l'application et les utilisateurs puissent configurer les valeurs par défaut de manière transparente.

Après avoir installé les fichiers binaires nécessaires sur l'ordinateur de l'utilisateur, votre routine d'installation doit effectuer les tâches générales suivantes :

  1. Inscrivez les ProgID dans HKEY_LOCAL_MACHINE, comme décrit ci-dessous. Notez que les applications doivent créer des ProgID spécifiques pour le protocole de recherche.
  2. Réclamez l'association du protocole de recherche au niveau de la machine.
  3. Enregistrez l'application dans les programmes par défaut, comme expliqué dans la section Enregistrement d'une application pour utilisation avec les programmes par défaut, en tant que candidat au protocole de recherche.

Entrées de Registre

Vous trouverez ci-dessous des exemples d'entrées de registre requises pour une application fictive de recherche de bureau, Contoso Search.

HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         contoso-search
            URL Protocol = ""
HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         contoso-search
            DefaultIcon
               (Default) = %ProgramFiles%\Contoso\Search\contososearch.exe,-7
HKEY_LOCAL_MACHINE
   SOFTWARE
      Classes
         contoso-search
            shell
               open
                  command
                     (Default) = %ProgramFiles%\Contoso\Search\contososearch.exe %1
HKEY_LOCAL_MACHINE
   SOFTWARE
      RegisteredApplications
         Contoso Search = "Software\\Contoso\\Search\\Capabilities"
HKEY_LOCAL_MACHINE
   SOFTWARE
      Contoso
         Search
            Capabilities
               ApplicationName = "Contoso Search Test App"
               ApplicationDescription = "Contoso search is a great new desktop search application"
HKEY_LOCAL_MACHINE
   SOFTWARE
      Contoso
         Search
            Capabilities
               UrlAssociations
                  search = "contoso-search"

Syntaxe de requête avancée

Programmes par défaut