Sdílet prostřednictvím


Přehled služby Windows Search

Windows Search je desktopová vyhledávací platforma, která má funkce okamžitého vyhledávání pro nejběžnější typy souborů a datové typy a vývojáři třetích stran můžou tyto možnosti rozšířit na nové typy souborů a datové typy.

Toto téma je uspořádané takto:

Úvod

Windows Search je standardní komponenta systému Windows 7 a Windows Vista a je ve výchozím nastavení povolená. Služba Windows Search nahrazuje službu Windows Desktop Search (WDS), která byla k dispozici jako doplněk pro systém Windows XP a Windows Server 2003.

Windows Search se skládá ze tří komponent:

Služba Windows Search

Služba WSS uspořádá extrahované vlastnosti z kolekce dokumentů. Protokol Windows Search umožňuje klientovi komunikovat se serverem, který je hostitelem SLUŽBY WSS, a vydávat dotazy a umožnit správci spravovat indexovací server. Při zpracování souborů služba WSS analyzuje sadu dokumentů, extrahuje užitečné informace a potom uspořádá extrahované informace tak, aby vlastnosti těchto dokumentů mohly být efektivně vráceny v reakci na dotazy.

Kolekce dokumentů, na které lze dotazovat, se skládá z katalogu, což je jednotka organizace nejvyšší úrovně ve Službě Windows Search. Katalog představuje sadu indexovaných dokumentů, které lze dotazovat. Katalog se skládá z tabulky vlastností s textem nebo hodnotou a odpovídajícím místním nastavením uloženým ve sloupcích tabulky. Každý řádek tabulky odpovídá samostatnému dokumentu v oboru katalogu a každý sloupec tabulky odpovídá vlastnosti. Katalog může obsahovat invertovaný index (pro rychlé porovnávání slov) a mezipaměť vlastností (pro rychlé načtení hodnot vlastností).

Proces indexeru se implementuje jako služba Systému Windows spuštěná v účtu LocalSystem a vždy běží pro všechny uživatele (i když není přihlášen žádný uživatel), což umožňuje službě Windows Search provést následující:

  • Udržujte jeden index, který se sdílí mezi všemi uživateli.
  • Udržujte omezení zabezpečení pro přístup k obsahu.
  • Zpracování vzdálených dotazů z klientských počítačů v síti

Vyhledávací služba je navržená tak, aby chránila uživatelské prostředí a výkon systému při indexování. Následující podmínky způsobí, že služba omezí nebo pozastaví indexování.

  • Vysoké využití procesoru procesy, které nesouvisejí s vyhledáváním.
  • Vysoká rychlost vstupně-výstupních operací systému, včetně čtení a zápisů souborů, stránkového souboru a vstupně-výstupních operací mezipaměti souborů a mapovaných vstupně-výstupních operací souborů.
  • Nízká dostupnost paměti.
  • Nízká výdrž baterie.
  • Nedostatek místa na jednotce, do které je uložený index.

Vývojová platforma

Upřednostňovaný způsob přístupu k rozhraním API služby Search a vytváření aplikací Windows Search je prostřednictvím zdroje dat shellu. Zdroj dat prostředí je komponenta, která slouží k rozšíření oboru názvů prostředí a zveřejnění položek v úložišti dat. Úložiště dat je repozitář dat. Úložiště dat může být vystaveno jako kontejner, který používá zdroj dat v rámci Shell programovacího modelu. Položky v úložišti dat lze indexovat systémem Windows Search pomocí obslužné rutiny protokolu.

Například ISearchFolderItemFactory je komponenta, která může vytvářet instance zdroje dat vyhledávací složky, což je druh "virtuálního" zdroje dat poskytovaný shellem, který může spouštět dotazy nad jinými zdroji dat v oboru názvů shellu a vyčíslovat výsledky. Může to provést buď pomocí indexeru, nebo ručním výčetem a kontrolou položek v zadaných oborech. Toto rozhraní umožňuje nastavit parametry vyhledávání pomocí metod, které vytvářejí a upravují složky výsledků hledání. Pokud metody tohoto rozhraní nejsou volána, použijí se výchozí hodnoty.

Přístup k funkci Windows Search nepřímo prostřednictvím datového modelu shellu je upřednostňovaný, protože poskytuje přístup k úplným funkcím prostředí na úrovni datového modelu Shell. Můžete například nastavit obor hledání na knihovnu (což je funkce dostupná v systému Windows 7 a novější), aby se složky knihovny používaly jako obor dotazu. Windows Search pak agreguje výsledky hledání z těchto umístění, pokud jsou v různých indexech (pokud jsou složky na různých počítačích). Datová vrstva shellu také vytvoří ucelenější zobrazení vlastností položek a syntetizuje některé hodnoty vlastností. Poskytuje také přístup k funkcím vyhledávání pro úložiště dat, která nejsou indexována službou Windows Search. Můžete například prohledávat paměťová zařízení USB (Universal Serial Bus), přenosné zařízení, které používá protokol MTP, nebo server FTP (File Transfer Protocol) prostřednictvím zdrojů dat shellu, které poskytují přístup k těmto systémům úložiště. Tím zajistíte lepší uživatelské prostředí.

Služba Windows Search obsahuje mezipaměť hodnot vlastností, které se používají při implementaci služby Windows Search Service (WSS). Tyto hodnoty vlastností lze programově dotazovat pomocí zprostředkovatele OLE DB služby Windows Search nebo prostřednictvím ISearchFolderItemFactory, který představuje položky ve výsledcích hledání a zobrazeních založených na dotazech. Služba Windows Search pak shromažďuje a ukládá vlastnosti generované obslužnými rutinami filtru nebo obslužnými rutinami vlastností při indexování položky, jako je wordový dokument. Toto úložiště se při přestavbě indexu zahodí a znovu vytvoří.

Vývojáři třetích stran mohou vytvářet aplikace, které využívají data v indexu prostřednictvím programových dotazů a mohou rozšířit data v indexu pro vlastní typy souborů a položek, které se mají indexovat službou Windows Search. Pokud chcete zobrazit výsledky dotazu v Průzkumníku Windows, musíte nejprve implementovat zdroj dat Shell, než vytvoříte obslužnou rutinu protokolu pro rozšíření indexu. Pokud jsou všechny dotazy programově generované (například prostřednictvím OLE DB) a interpretovány kódem aplikace namísto prostředí shellu, je obor názvů prostředí ještě stále upřednostňován, ale není nezbytný.

Obslužná rutina protokolu je nutná pro systém Windows k získání informací o obsahu souboru, jako jsou například položky v databázích nebo vlastních typech souborů. Služba Windows Search sice může indexovat název a vlastnosti souboru, ale systém Windows nemá žádné informace o obsahu souboru. V důsledku toho nelze tyto položky indexovat ani vystavit v prostředí Windows Shell. Implementací vlastní obslužné rutiny protokolu můžete tyto položky zveřejnit. Seznam obslužných rutin identifikovaných scénářem vývojáře, který se pokoušíte dosáhnout, najdete v tématu "Přehled obslužných rutin" v Windows Search jako vývojová platforma.

Poznámka

Datový zdroj Shellu je někdy znám jako rozšíření názvového prostoru Shell. Obslužná rutina se někdy označuje jako rozšíření prostředí nebo shellový handler.

 

Uživatelské rozhraní

Ve Windows Vista a novějších verzích je Windows Search integrován do všech oken Průzkumníka Windows pro okamžitý přístup k vyhledávání. To umožňuje uživatelům rychle vyhledávat soubory a položky podle názvu souboru, vlastností a fulltextového obsahu. Výsledky je také možné dále filtrovat, aby bylo možné hledání upřesnit. Tady je několik dalších funkcí služby Windows Search:

  • Okamžité vyhledávací pole v každém okně umožňuje okamžité filtrování všech aktuálně zobrazených položek. Pole okamžitého hledání se zobrazí v nabídce Start, aby se vyhledaly programy nebo soubory, a v pravém horním rohu všech oken Průzkumníka Windows se zobrazí filtrování zobrazených výsledků. Okamžité vyhledávání je také integrováno do některých dalších funkcí systému Windows, jako je Windows Media Player, aby se vyhledaly související soubory.
  • Dokumenty lze označit klíčovými slovy, aby se seskupily podle vlastních kritérií definovaných uživatelem. Značky jsou položky metadat přiřazené uživatelem nebo aplikacemi, aby bylo snazší najít soubory na základě klíčových slov, která nemusí být v názvu nebo obsahu položky. Například sada obrázků může být označena jako "Dovolená v Arizoně 2009", aby bylo možné ji později rychle najít vyhledáním některého zahrnutého slova.
  • Vylepšené záhlaví sloupců v zobrazeních Průzkumníka Windows umožňují řazení a seskupování dokumentů různými způsoby. Soubory lze například řadit podle názvu, data změny, typu, velikosti a značek. Dokumenty lze také seskupit podle libovolné z těchto vlastností a každá skupina se dá podle potřeby filtrovat (skrýt nebo zobrazit).
  • Dokumenty se dají naskládat podle názvu, data změny, typu, velikosti a značek. Zásobníky obsahují všechny dokumenty, které mají zadanou vlastnost a nacházejí se v libovolné podsložce vybrané složky.
  • Hledání lze uložit (aby bylo možné je načíst později) kliknutím na tlačítko Uložit hledání v podokně hledání v Průzkumníku Windows. Výsledky budou dynamicky znovu vyplněny na základě původních kritérií při otevření uloženého hledání. Pokyny najdete v tématu Uložení výsledků hledání.
  • Obslužné rutiny náhledu a obslužné rutiny miniatur umožňují uživatelům zobrazit náhled dokumentů v Průzkumníku Windows, aniž by museli otevřít aplikaci, která je vytvořila.

Technické požadavky

Než začnete číst dokumentaci k sadě Windows Search SDK, měli byste mít základní znalosti následujících konceptů:

  • Postup implementace zdroje dat Shell
  • Postup implementace obslužné rutiny
  • Jak pracovat v nativním kódu

Zdroj dat Shell je komponenta, která slouží k rozšíření oboru názvů Shell a zveřejnění položek v úložišti dat. V minulosti se zdroj dat Shellu označoval jako rozšíření oboru názvů Shell. Obslužná rutina je objekt modelu COM (Component Object Model), který poskytuje funkce pro položku prostředí. Seznam obslužných rutin identifikovaných scénářem vývojáře, který se pokoušíte dosáhnout, najdete v tématu "Přehled obslužných rutin" v Windows Search jako vývojová platforma.

Další informace o sestavení interoperability sady Windows Search SDK pro práci s COM objekty, které jsou zpřístupněny službou Windows Search a dalšími programy používajícími spravovaný kód, viz téma Použití spravovaného kódu s daty prostředí a Windows Search. Všimněte si však, že filtry, obslužné rutiny vlastností a obslužné rutiny protokolu musí být zapsány v nativním kódu. Důvodem je potenciální problémy s správou verzí modulu CLR (Common Language Runtime) v procesu, ve které běží více doplňků. Vývojáři, kteří s jazykem C++ začínají, se mohou seznámit s Visual C++ Developer Center a Začátky s vývojem pro Windows.

Stažení a obsah sady SDK

Kromě splnění uvedených technických požadavků musíte také stáhnout Windows SDK, abyste získali knihovny Windows Search. Ukázky kódu služby Windows Search obsahují užitečné ukázky kódu a sestavení interoperability pro vývoj pomocí spravovaného kódu.

Dokumentace k sadě Windows Search SDK

Obsah dokumentace sady Windows Search SDK je následující:

Služba Windows Search nahrazuje službu Windows Desktop Search (WDS), která byla k dispozici jako doplněk pro systém Windows XP a Windows Server 2003. Služba WDS nahradila starší verzi služby indexování z předchozích verzí Windows vylepšením výkonu, použitelnosti a rozšiřitelnosti. Nová vývojová platforma podporuje požadavky, které vytvářejí bezpečnější a stabilní systém. I když nová platforma pro dotazování není kompatibilní s Microsoft Windows Desktop Search (WDS) 2.x, filtry a obslužné rutiny protokolu napsané pro předchozí verze WDS lze aktualizovat tak, aby fungovaly se službou Windows Search. Windows Search také podporuje nový systém vlastností. Informace o filtrech, obslužných rutinách vlastností a obslužných rutinách protokolu najdete v části Rozšíření indexu.

Služba Windows Search je integrovaná do systému Windows Vista a novější a je k dispozici jako distribuovatelná aktualizace wdS 2.x pro podporu následujících operačních systémů:

  • 32bitové verze systému Windows XP s aktualizací Service Pack 2 (SP2).
  • Všechny verze systému Windows XP založené na platformě x64.
  • Windows Server 2003 s aktualizací Service Pack 1 (SP1) a novější.
  • Všechny verze systému Windows Server 2003 založené na platformě x64.

Aby bylo možné spouštět aplikace napsané pro Windows Search, musí mít systémy s těmito operačními systémy nainstalované windows Search.

Další zdroje informací

Windows Search jako vývojovou platformu

jazyky podporované službou Windows Search

Použití spravovaného kódu se provozními daty a službou Windows Search