Condividi tramite


Uso del protocollo di ricerca

Il protocollo di ricerca: application è una convenzione estendibile per chiamare l'applicazione di ricerca desktop in Windows Vista con Service Pack 1 (SP1) e versioni successive. Il protocollo è stato creato in Windows Vista con SP1 per consentire a Windows di determinare e chiamare l'applicazione di ricerca desktop predefinita.

La sintassi del protocollo fornisce numerosi parametri utili per eseguire ricerche desktop comuni, ad esempio i termini di ricerca immessi dall'utente o il percorso in cui è stata avviata la ricerca. Quando gli utenti eseguono ricerche da uno dei due punti di ingresso di ricerca disponibili (il menu Start o Esplora risorse), il sistema operativo usa il protocollo di ricerca per avviare l'applicazione di ricerca desktop predefinita. A tale scopo, aggiungere i termini di ricerca immessi dall'utente alla sintassi del protocollo di ricerca standard e passare tali informazioni all'applicazione registrata come applicazione di ricerca predefinita.

Se non sono installate altre applicazioni di ricerca desktop, una ricerca immessa in questi punti di ingresso avvia Esplora ricerche di Windows. Tuttavia, gli sviluppatori di terze parti possono creare, installare e registrare le applicazioni per gestire il protocollo di ricerca e per essere l'applicazione di ricerca predefinita. Tali applicazioni devono supportare la sintassi del protocollo di ricerca e registrarsi con la funzionalità Programmi predefiniti per garantire un'esperienza ottimale con Windows.

Se si sviluppa un'applicazione che deve essere usata o basata su un'applicazione di ricerca desktop specifica, non è consigliabile dipendere esclusivamente dal protocollo di ricerca: . Poiché molte applicazioni potrebbero possedere il protocollo search: non c'è alcuna garanzia che l'applicazione di ricerca desktop di destinazione sia proprietaria in qualsiasi momento. È invece consigliabile usare un protocollo di ricerca privato definito da tale applicazione di ricerca desktop di destinazione. Ciò significa che le applicazioni di ricerca desktop destinate a essere una piattaforma per le applicazioni di terze parti devono supportare sia il protocollo di ricerca che il proprio protocollo di ricerca proprietario.

Nota

Il protocollo search: non sostituisce il protocollo search-ms: proprietario. Le applicazioni possono comunque usare il protocollo search-ms: per avviare Esplora ricerche finestre o per eseguire una query invisibile all'utente sull'indicizzatore di Windows Search.

 

Questo argomento illustra quanto segue:

Sintassi

Il protocollo di ricerca usa la sintassi standard con codifica URL seguente:

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

La sintassi inizia identificando il protocollo stesso (search:). Le coppie parametro/valore sono argomenti passati al motore di ricerca, come descritto nella tabella seguente, che mostra tutti i possibili parametri per la sintassi del protocollo di ricerca.

Parametro valore Descrizione
query Testo con codifica URL Testo della query immesso dall'utente.
inputlocale Qualsiasi identificatore di codice di lingua valido (LCID) LCID che identifica la lingua di input per la query.
keywordlocale Qualsiasi LCID valido LCID che identifica la lingua della versione internazionale dell'indicizzatore. Il valore predefinito è 1033 (en-us).
briciola Istruzione AQS Questo argomento limita l'ambito in cui viene eseguita la ricerca. In Windows Vista il protocollo di ricerca supporta la funzionalità AQS completa e un'implementazione speciale per un location argomento. In Windows XP, il protocollo di ricerca supporta anche domande frequenti complete, ad eccezione di un'implementazione speciale di kind e store.
sintassi NQS, domande frequenti (senza distinzione tra maiuscole e minuscole) Sintassi della query da usare per eseguire ricerche nell'indice: sintassi di query naturale o sintassi di query avanzata (AQS). AQS è l'impostazione predefinita e viene sempre considerato analizzato e supportato.
stackedby Qualsiasi proprietà valida dal sistema di proprietà Proprietà che specifica la colonna in base alla quale eseguire lo stack dei risultati.
subquery Percorso completamente specificato per un file di ricerca salvata (*.search-ms) I risultati della sottoquery vengono usati come origine per la query. Ovvero, i termini della query vengono cercati in base ai risultati della sottoquery.
displayname Stringa con codifica URL Nome della ricerca corrente.

 

Windows Vista con SP1 usa il protocollo di ricerca:

Windows Vista con SP1 include diversi punti di ingresso da cui chiama il protocollo search: . Questi punti di ingresso sono descritti di seguito, nonché la sintassi comune associata a ognuno di essi.

Punto di ingresso del protocollo di ricerca Ufficio Query denominata
Cerca ovunque Menu Start search:query=<Termine di ricerca>
Cerca ovunque Esplora risorse search:query=<Search Term>&crumb=location:<LOCATION>
Tasto logo Windows+F Anywhere ricerca:
CTRL+F Esplora risorse search:query=<Search Term>&crumb=location:<LOCATION>
F3 Menu Start ricerca:
F3 Esplora risorse search:query=<Search Term>&crumb=location:<LOCATION>

 

I punti di ingresso del protocollo di ricerca di Windows Vista con SP1 non sfruttano tutti i possibili parametri nel protocollo di ricerca. Le applicazioni che riguardano solo la gestione delle chiamate al protocollo di ricerca da Windows Vista con SP1 possono usare la tabella seguente come guida al minimo necessario implementare.

Parametro Usato da Windows? Modalità di utilizzo di Windows Vista con SP1 durante la chiamata alla ricerca:
query Testo della query immesso dall'utente.
briciola crumb usa l'argomento location per specificare da dove proviene la query.
subquery I risultati dell'argomento Subquery vengono usati come ambito di elementi da cercare. Questa operazione viene in genere usata se un utente usava un file con estensione search-ms per eseguire la ricerca e quindi chiamato l'applicazione di ricerca desktop predefinita dall'interno di tale ricerca.
inputlocale No Non attualmente utilizzato.
keywordlocale No Non attualmente utilizzato.
sintassi No Non attualmente utilizzato.
stackedby No Non attualmente utilizzato.
displayname No Non attualmente utilizzato.

 

Esempi

Se un utente immette "Microsoft" nel menu Start e fa clic su Cerca ovunque, viene eseguita la chiamata al protocollo di ricerca risultante:

search:query=microsoft&

Se un utente immette "Seattle" in Esplora risorse in C:\MyFolder e quindi fa clic su Cerca ovunque, viene eseguita la chiamata seguente, usando caratteri di escape per ':' e '\':

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

Registrazione dell'applicazione che gestisce il protocollo

Poiché più applicazioni possono sostenere il protocollo di ricerca, è necessario registrare l'applicazione con la funzionalità Programmi predefiniti durante l'installazione per consentire all'utente di configurare il valore predefinito più facilmente. Oltre alle procedure di installazione normalmente praticate in Windows XP, un'applicazione basata su Windows Vista deve registrarsi con la funzionalità Programmi predefiniti in modo che l'applicazione e gli utenti possano configurare senza problemi le impostazioni predefinite.

Dopo aver installato i file binari necessari nel computer dell'utente, la routine di installazione deve completare queste attività generali:

  1. Scrivere progID in HKEY_LOCAL_MACHINE, come descritto di seguito. Si noti che le applicazioni devono creare progID specifiche dell'applicazione per il protocollo di ricerca.
  2. Attestazione associazione del protocollo di ricerca a livello di computer.
  3. Registrare l'applicazione con programmi predefiniti, come illustrato in Registrazione di un'applicazione per l'uso con programmi predefiniti, come concorrente per il protocollo di ricerca.

Voci del Registro di sistema

Di seguito sono riportati esempi delle voci del Registro di sistema necessarie per un'applicazione di ricerca desktop fittizia, 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"

Sintassi di ricerca avanzata

Programmi predefiniti