2010-09-30 14 views
12

Recentemente ho trovato un articolo sul nuovo Federated Search and Search Connectors di Windows 7. Fondamentalmente, fornisci agli utenti un piccolo file XML (.osdx; un file XML OpenSearch) e possono quindi utilizzare Explorer per cercare qualsiasi cosa tu abbia. Questi connettori di ricerca sono davvero facili da implementare. – Explorer chiama il tuo URL con una query e restituisci i risultati come RSS.Origine personalizzata per Windows 7 Start Menu Search

Grande. Attualmente sto lavorando a un'app web in cui questo tipo di funzionalità potrebbe essere una piccola funzionalità aggiuntiva da offrire ai miei utenti. Quindi ho installato l'esempio .osdx e l'ho provato. Funziona più o meno come pubblicizzato:

http://blogs.msdn.com/blogfiles/jimoneil/WindowsLiveWriter/7ON7FederatedSearch_14072/image_thumb_15.png

che è cool, ma io voglio che i miei risultati di ricerca siano disponibili dal menu Start. Il punto (nella mia mente) sarebbe quello di rendere gli elementi all'interno della mia app web facilmente, rapidamente e direttamente accessibili quando l'app stessa non è già aperta. Se devo aprire una finestra di Explorer, fare clic sul mio connettore di ricerca e quindi cercare, qual è la differenza dall'apertura di un browser e dalla ricerca nell'app Web?

Ecco che cosa ho provato:

  • Dopo avere installato la .osdx, il connettore viene salvato come %UserProfile%\Searches\name.searchConnector-ms. Altri elementi in questa cartella includono il connettore di Outlook. Guardando quel file, c'è un nodo molto promettente chiamato <includeInStartMenuScope>. Ho aggiunto questo nodo con un valore di true al connettore Canale 9, ma senza fortuna. (Ho anche provato un riavvio.)
  • Mi sono imbattuto in un year-old question that asks just about the same thing. La risposta accettata ci indirizza al pacchetto di codice API di Windows, ma fornisce solo classi per che utilizzano la ricerca di Windows, non implementando un provider di ricerca.
  • The registry trick from Scott Hanselman. Tuttavia, questo (a) pin solo un link per eseguire la ricerca invece di includere i risultati inline, e (b) non funziona per me dal momento che io (né posso aspettarmi che i miei utenti) abbia Windows 7 Ultimate.

Quindi, come posso fornire gli elementi alla ricerca istantanea del menu Start? Idealmente, mi piacerebbe solo configurare i risultati del connettore di ricerca da includere, ma non sono contrario al cablaggio di qualcosa in C# che verrebbe installato sul computer client.

+0

+1 per una grande domanda. –

risposta

2

Tradizionalmente, il modo per estendere la ricerca di Windows è stato tramite IFilters che consente a Windows di comprendere nuovi tipi di file. Questo approccio ti legherà sicuramente ai risultati del pulsante Start.

In questo caso, si ha a che fare con federated search, che fa sì che il contenuto online agisca come se fosse presente sul computer dell'utente.

Purtroppo, non riesco a trovare nulla che risolva ovviamente il tuo problema. Di conseguenza, potrebbe essere necessario creare un kludge in 2 parti:

  1. Un IFilter per i risultati della ricerca (ad esempio, un file "* .C9").
  2. Un file che termina con "C9".

Per inciso, se si esegue una ricerca sul termine "IFilter" e si passa ai primi risultati di ricerca, si potrebbe pensare che i filtri IFilter non vengano più utilizzati a causa di una nota nella parte superiore della pagina.

Se ciò accade, sei al vecchio sito IFilter. L'URL corrente per i documenti MSDN su questo argomento è http://msdn.microsoft.com/en-us/library/bb266451(v=VS.85).aspx.

Un'ultima nota di avvertimento:

In Windows 7 e versioni successive, filtri scritti in codice gestito vengono esplicitamente bloccato. I filtri DEVONO essere scritti in codice nativo a causa di potenziali problemi di versionamento CLR con il processo in cui vengono eseguiti più add-in.

Problemi correlati