2010-09-30 12 views
12

Niedawno natknąłem się na artykuł o nowym Federated Search and Search Connectors systemu Windows 7. Zasadniczo udostępniasz użytkownikom mały plik XML (.osdx, plik XML OpenSearch), a następnie mogą użyć Eksploratora, aby wyszukać wszystko, co masz. Te złącza wyszukiwania naprawdę naprawdę łatwe do wdrożenia – Explorer wywołuje twój adres URL za pomocą zapytania i po prostu zwraca wyniki jako RSS.Niestandardowe źródło wyszukiwania w menu Start systemu Windows 7

Świetnie. Obecnie pracuję nad aplikacją internetową, w której ta funkcja może być miłym dodatkiem dla moich użytkowników. Więc zainstalowałem próbkę .osdx i wypróbowałem to. Działa prawie jak w reklamie:

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

to jest cool, ale chcę moje wyniki wyszukiwania mają być dostępne z menu Start. Chodzi mi o to, że elementy w mojej aplikacji internetowej będą łatwo, szybko i bezpośrednio dostępne, gdy sama aplikacja nie jest już otwarta. Jeśli muszę otworzyć okno Eksploratora, kliknij Moje Search Connector, a następnie wyszukaj, czym się różni od otwierania przeglądarki i wyszukiwania w aplikacji internetowej?

Oto co próbowałem:

  • Po zainstalowaniu .osdx, złącze jest zapisywany jako %UserProfile%\Searches\name.searchConnector-ms. Inne pozycje w tym folderze to Outlook Connector. Patrząc na ten plik, istnieje bardzo obiecujący węzeł o nazwie <includeInStartMenuScope>. Dodałem ten węzeł o wartości true do złącza Channel 9, ale bez powodzenia. (Próbowałem nawet ponownego uruchomienia komputera).
  • Natknąłem się na year-old question that asks just about the same thing. Zaakceptowana odpowiedź kieruje nas do pakietu kodu Windows API Code Pack, ale zapewnia tylko klasy dla , które używają Wyszukiwania systemu Windows w wersji, a nie implementacji dostawcy wyszukiwania.
  • The registry trick from Scott Hanselman. Jednak ten (a) tylko przypina link, aby uruchomić wyszukiwanie, zamiast włączania wyników do linii, i (b) nie działa dla mnie, ponieważ (nie mogę też oczekiwać od moich użytkowników) mieć Windows 7 Ultimate.

Jak zatem dostarczyć elementy do błyskawicznego wyszukiwania w menu Start? Idealnie, chciałbym po prostu skonfigurować wyniki Search Connector, aby były włączone, ale nie jestem przeciwny okablowaniu czegoś w języku C#, który byłby zainstalowany na komputerze klienta.

+0

+1 za świetne pytanie. –

Odpowiedz

2

Tradycyjnie sposobem na rozszerzenie usługi wyszukiwania systemu Windows było uzyskanie przez IFilters systemu Windows nowych typów plików. Takie podejście z pewnością przywiąże Cię do wyników przycisku Start.

W tym przypadku masz do czynienia z federated search, który sprawia, że ​​zawartość online działa tak, jakby była obecna na komputerze użytkownika.

Niestety, nie mogę znaleźć niczego, co w oczywisty sposób rozwiązuje twój problem. W związku z tym, być może trzeba będzie zbudować kludge w 2 częściach:

  1. IFilter dla wyników wyszukiwania (powiedzmy, "* .C9" file).
  2. Plik kończący się na "C9".

Nawiasem mówiąc, jeśli zrobić wyszukiwania w sieci na określenie „IFilter” i przejść do kilku pierwszych wyników wyszukiwania, można by pomyśleć, że IFilters nie są stosowane ze względu na notatki na górze strony.

Jeśli tak się stanie, to jesteś na starej stronie IFilter. Bieżący adres URL dokumentacji MSDN na ten temat jest pod adresem http://msdn.microsoft.com/en-us/library/bb266451(v=VS.85).aspx.

ostatnia uwaga ostrzeżenia:

W systemie Windows 7 i później, filtry napisane w kodzie zarządzanym są wyraźnie blokowane. Filtry MUSZĄ być zapisane w kodzie źródłowym ze względu na potencjalne problemy z wersją CLR w procesie, w którym działa wiele dodatków.

Powiązane problemy