Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Windows Search is een bureaubladzoekplatform met directe zoekmogelijkheden voor de meest voorkomende bestandstypen en gegevenstypen, en ontwikkelaars van derden kunnen deze mogelijkheden uitbreiden naar nieuwe bestandstypen en gegevenstypen.
Dit onderwerp is als volgt ingedeeld:
- Inleiding
- technische vereisten
- Windows Search SDK-documentatie
- geschiedenis van Windows Search
- Aanvullende middelen
- Verwante onderwerpen
Introductie
Windows Search is een standaardonderdeel van Windows 7 en Windows Vista en is standaard ingeschakeld. Windows Search vervangt Windows Desktop Search (WDS), die beschikbaar was als een invoegtoepassing voor Windows XP en Windows Server 2003.
Windows Search bestaat uit drie onderdelen:
Windows Search service
De WSS organiseert de geëxtraheerde kenmerken van een verzameling documenten. Met Het Windows Search Protocol kan een client communiceren met een server die als host fungeert voor een WSS, zowel om query's uit te geven als een beheerder in staat te stellen de indexeringsserver te beheren. Bij het verwerken van bestanden analyseert WSS een set documenten, extraheert nuttige informatie en organiseert vervolgens de geëxtraheerde informatie, zodat eigenschappen van deze documenten efficiënt kunnen worden geretourneerd als reactie op query's.
Een verzameling documenten waarop query's kunnen worden uitgevoerd, bestaat uit een catalogus, de eenheid op het hoogste niveau van de organisatie in Windows Search. Een catalogus vertegenwoordigt een set geïndexeerde documenten die kunnen worden opgevraagd. Een catalogus bestaat uit een eigenschappentabel met de tekst of waarde en de bijbehorende locatie (landinstelling) die is opgeslagen in kolommen van de tabel. Elke rij van de tabel komt overeen met een afzonderlijk document in het bereik van de catalogus en elke kolom van de tabel komt overeen met een eigenschap. Een catalogus kan een omgekeerde index bevatten (voor snelle woordenvergelijking) en een eigenschappencache (voor het snel ophalen van eigenschapswaarden).
Het indexeerproces wordt geïmplementeerd als een Windows-service die wordt uitgevoerd in het LocalSystem-account en wordt altijd uitgevoerd voor alle gebruikers (zelfs als er geen gebruiker is aangemeld), waardoor Windows Search het volgende kan bereiken:
- Houd één index bij die wordt gedeeld door alle gebruikers.
- Beveilig beveiligingsbeperkingen voor toegang tot inhoud.
- Externe query's verwerken vanaf clientcomputers in het netwerk.
De Search-service is ontworpen om de gebruikerservaring en systeemprestaties te beschermen bij het indexeren. De volgende voorwaarden zorgen ervoor dat de service indexering beperkt of onderbreekt:
- Hoog CPU-gebruik door niet-zoekgerelateerde processen.
- Hoge systeem-I/O-snelheid, inclusief lees- en schrijfbewerkingen van bestanden, wisselbestand- en bestandscache-I/O en gemapte bestand-I/O.
- Lage geheugen beschikbaarheid.
- Lage levensduur van de batterij.
- Weinig schijfruimte op de schijf waarin de index wordt opgeslagen.
Ontwikkelingsplatform
De voorkeursmethode voor toegang tot de zoek-API's en het maken van Windows Search-toepassingen is via een Shell-gegevensbron. Een Shell-gegevensbron is een onderdeel dat wordt gebruikt om de Shell-naamruimte uit te breiden en items beschikbaar te maken in een gegevensarchief. Een gegevensarchief is een opslagplaats met gegevens. Een gegevensarchief kan worden blootgesteld aan het Shell-programmeermodel als een container die gebruikmaakt van een Shell-gegevensbron. De items in een gegevensarchief kunnen worden geïndexeerd door het Windows Search-systeem met behulp van een protocolhandler.
Bijvoorbeeld, ISearchFolderItemFactory is een onderdeel dat exemplaren van de gegevensbron van de zoekmap kan maken. Dit is een soort 'virtuele' gegevensbron die wordt geleverd door de Shell die query's kan uitvoeren via andere gegevensbronnen in de Shell-naamruimte en resultaten kan inventariseren. U kunt dit doen met behulp van de indexeerder of door items binnen de opgegeven scopes handmatig te inventariseren en te inspecteren. Met deze interface kunt u de parameters van de zoekopdracht instellen met behulp van methoden voor het maken en wijzigen van zoekmappen. Als methoden van deze interface niet worden aangeroepen, worden in plaats daarvan standaardwaarden gebruikt.
Het indirect openen van de Windows Search-functie via het Shell-gegevensmodel heeft de voorkeur omdat het toegang biedt tot volledige Shell-functionaliteit op het niveau van het Shell-gegevensmodel. U kunt bijvoorbeeld het bereik van een zoekopdracht instellen op een bibliotheek (een functie die beschikbaar is in Windows 7 en hoger) om de bibliotheekmappen te gebruiken als het bereik van de query. Windows Search voegt vervolgens de zoekresultaten van die locaties samen als ze zich in verschillende indexen bevinden (als de mappen zich op verschillende computers bevinden). De Shell-gegevenslaag maakt ook een volledigere weergave van de eigenschappen van items, waarbij bepaalde eigenschapswaarden worden gesynthetiseert. Het biedt ook toegang tot zoekfuncties voor gegevensarchieven die niet worden geïndexeerd door Windows Search. U kunt bijvoorbeeld zoeken naar een USB-opslagapparaten (Universal Serial Bus), een draagbaar apparaat dat gebruikmaakt van het MTP-protocol of een FTP-server (File Transfer Protocol) via de Shell-gegevensbronnen die toegang bieden tot deze opslagsystemen. Dit zorgt voor een betere gebruikerservaring.
Windows Search heeft een cache met eigenschapswaarden die worden gebruikt in de implementatie van de Windows Search Service (WSS). Deze eigenschapswaarden kunnen programmatisch worden opgevraagd met behulp van de Windows Search OLE DB-provider of via ISearchFolderItemFactory-, die items in zoekresultaten en op query's gebaseerde weergaven vertegenwoordigt. Windows Search verzamelt en slaat vervolgens eigenschappen op die worden verzonden door filterhandlers of eigenschapshandlers wanneer een item zoals een Word-document wordt geïndexeerd. Deze winkel wordt afgebroken en herbouwd wanneer de index opnieuw wordt opgebouwd.
Externe ontwikkelaars kunnen toepassingen maken die de gegevens in de index verbruiken via programmatische query's en de gegevens in de index uitbreiden voor aangepaste bestandstypen en itemtypen die door Windows Search moeten worden geïndexeerd. Als u queryresultaten wilt weergeven in Windows Verkenner, moet u een Shell-gegevensbron implementeren voordat u een protocolhandler kunt maken om de index uit te breiden. Als alle query's echter programmatisch zijn (bijvoorbeeld via OLE DB) en worden geïnterpreteerd door de code van de toepassing in plaats van de Shell, is een Shell-naamruimte nog steeds de voorkeur maar niet vereist.
Een protocolhandler is vereist voor Windows om informatie te verkrijgen over bestandsinhoud, zoals items in databases of aangepaste bestandstypen. Hoewel Windows Search de naam en eigenschappen van het bestand kan indexeren, heeft Windows geen informatie over de inhoud van het bestand. Als gevolg hiervan kunnen dergelijke items niet worden geïndexeerd of weergegeven in de Windows Shell. Door een aangepaste protocolhandler te implementeren, kunt u deze items beschikbaar maken. Zie 'Overzicht van handlers' in Windows Search als een ontwikkelplatformvoor een lijst met handlers die zijn geïdentificeerd door het ontwikkelaarsscenario dat u probeert te bereiken.
Notitie
Een Shell-gegevensbron wordt ook wel een Shell-naamruimteextensie genoemd. Een handler wordt ook wel een Shell-extensie of een Shell-extensiehandler genoemd.
Gebruikersinterface
In Windows Vista en hoger is Windows Search geïntegreerd in alle Windows Verkenner-vensters voor directe toegang tot zoeken. Hierdoor kunnen gebruikers snel zoeken naar bestanden en items op bestandsnaam, eigenschappen en inhoud in volledige tekst. Resultaten kunnen ook verder worden gefilterd om de zoekopdracht te verfijnen. Hier volgen nog enkele functies van Windows Search:
- Met een direct zoekvak in elk venster kunt u direct filteren van alle items die momenteel in de weergave zijn. Directe zoekvakken worden weergegeven in het menu Start om te zoeken naar programma's of bestanden, en in de rechterbovenhoek van alle Windows Verkenner-vensters om de weergegeven resultaten te filteren. Direct zoeken is ook geïntegreerd in enkele andere Windows-functies, zoals Windows Media Player, om gerelateerde bestanden te vinden.
- Documenten kunnen worden gelabeld met trefwoorden om ze te groeperen op aangepaste criteria die door de gebruiker zijn gedefinieerd. Tags zijn metagegevensitems die zijn toegewezen door de gebruiker of toepassingen om het gemakkelijker te maken bestanden te vinden op basis van trefwoorden die mogelijk niet in de itemnaam of inhoud staan. Een set afbeeldingen kan bijvoorbeeld worden gelabeld als 'Arizona Vacation 2009' om later snel op te halen door te zoeken naar een van de opgenomen woorden.
- Verbeterde kolomkoppen in Windows Verkenner-weergaven maken sorteren en groeperen van documenten op verschillende manieren mogelijk. Bestanden kunnen bijvoorbeeld worden gesorteerd op basis van naam, datum gewijzigd, type, grootte en tags. Documenten kunnen ook worden gegroepeerd op basis van een van deze eigenschappen en elke groep kan naar wens worden gefilterd (verborgen of weergegeven).
- Documenten kunnen worden gestapeld op basis van naam, datum gewijzigd, type, grootte en tags. Stacks bevatten alle documenten met de opgegeven eigenschap en bevinden zich in een submap van de geselecteerde map.
- Zoekopdrachten kunnen worden opgeslagen (om later te worden opgehaald) door te klikken op de knop Zoekopdracht opslaan in het zoekvenster in Windows Verkenner. De resultaten worden dynamisch opnieuw ingevuld op basis van de oorspronkelijke criteria wanneer de opgeslagen zoekopdracht wordt geopend. Zie Uw zoekresultaten opslaanvoor instructies.
- Met preview-handlers en miniatuurhandlers kunnen gebruikers voorbeelden van documenten bekijken in Windows Verkenner zonder dat ze de toepassing hoeven te openen waarmee ze zijn gemaakt.
Technische vereisten
Voordat u begint met het lezen van de Windows Search SDK-documentatie, moet u een fundamenteel begrip hebben van de volgende concepten:
- Een Shell-gegevensbron implementeren.
- Een handler implementeren.
- Hoe te werken in systeemeigen code.
Een Shell-gegevensbron is een onderdeel dat wordt gebruikt om de Shell-naamruimte uit te breiden en items beschikbaar te maken in een gegevensarchief. In het verleden werd de Shell-gegevensbron aangeduid als de shell-naamruimteextensie. Een handler is een COM-object (Component Object Model) dat functionaliteit biedt voor een Shell-item. Zie 'Overzicht van handlers' in Windows Search als een ontwikkelplatformvoor een lijst met handlers die zijn geïdentificeerd door het ontwikkelaarsscenario dat u probeert te bereiken.
Zie Managed Code gebruiken met Shell-gegevens en Windows Search-voor meer informatie over de interoperabiliteitsassembly van de Windows Search SDK voor het werken met COM-objecten die worden blootgesteld door Windows Search en andere programma's die beheerde code gebruiken. Houd er echter rekening mee dat filters, eigenschapshandlers en protocolhandlers moeten worden geschreven in systeemeigen code. Dit wordt veroorzaakt door mogelijke clr-versiebeheerproblemen (Common Language Runtime) met het proces waarin meerdere invoegtoepassingen worden uitgevoerd. Ontwikkelaars die nog niet bekend zijn met C++ kunnen aan de slag met het Visual C++ Developer Center en Aan de slag met Windows Development.
SDK downloaden en inhoud
Naast de vermelde technische vereisten moet u ook de Windows SDK- downloaden om de Windows Search-bibliotheken op te halen. De Windows Search-codevoorbeelden nuttige codevoorbeelden en een interoperabiliteitsassembly bevatten voor het ontwikkelen met beheerde code.
Windows Search SDK-documentatie
De inhoud van de Windows Search SDK-documentatie is als volgt:
Windows Search als een ontwikkelplatform
Geeft een overzicht van de belangrijkste ontwikkelscenario's in Windows Search. Bevat een lijst met handlers die worden geïdentificeerd op basis van het ontwikkelingsscenario dat u wilt bereiken, richtlijnen voor de installatie van invoegtoepassingen en implementatieopmerkingen.
Ontwikkelaarshandleiding voor Windows Search
Biedt uitleg voor Het beheren van de index, het uitvoeren van query's op de index via programmacode, het uitbreiden van de indexen het uitbreiden van taalresources.
-
Documenteert de volgende categorieën van Windows Search-interfaces: Protocol Handlers, Query's, Crawl Scope, Gegevensinvoegtoepassingen, Indexbeheeren Meldingen. De referentiedocumentatie bevat ook constanten en opsommingen, Structures, eigenschapstoewijzingenen de opgeslagen zoekbestandsindeling.
Windows Search-codevoorbeelden
Hierin worden de zoek-API-codevoorbeelden beschreven die beschikbaar zijn.
Federatieve zoekfunctie in Windows
Beschrijft Windows 7-ondersteuning voor zoekfederatie naar externe gegevensarchieven met behulp van OpenSearch-technologieën waarmee gebruikers toegang kunnen krijgen tot en interactie hebben met hun externe gegevens vanuit Windows Verkenner.
-
Hiermee worden technologieën vermeld die betrekking hebben op Windows Search: Enterprise Search, SharePoint Enterprise Search en oudere toepassingen zoals Windows Desktop Search 2.x en Platform SDK: Indexing Service.
Woordenlijst voor Windows Search
Definieert essentiële termen die worden gebruikt in Windows Search- en Shell-technologieën.
Geschiedenis van Windows Search
Windows Search vervangt Windows Desktop Search (WDS), die beschikbaar was als een invoegtoepassing voor Windows XP en Windows Server 2003. WDS heeft de verouderde indexeringsservice van eerdere versies van Windows vervangen door verbeteringen in prestaties, bruikbaarheid en uitbreidbaarheid. Het nieuwe ontwikkelplatform ondersteunt vereisten die een veiliger en stabieler systeem produceren. Hoewel het nieuwe queryplatform niet compatibel is met Microsoft Windows Desktop Search (WDS) 2.x, kunnen filters en protocolhandlers die zijn geschreven voor eerdere versies van WDS, worden bijgewerkt voor gebruik met Windows Search. Windows Search ondersteunt ook een nieuw eigenschappensysteem. Voor meer informatie over filters, eigenschapshandlers en protocolhandlers, zie De index uitbreiden.
Windows Search is ingebouwd in Windows Vista en hoger en is beschikbaar als een herdistribueerbare update naar WDS 2.x, ter ondersteuning van de volgende besturingssystemen:
- 32-bits versies van Windows XP met Service Pack 2 (SP2).
- Alle x64-versies van Windows XP.
- Windows Server 2003 met Service Pack 1 (SP1) en hoger.
- Alle x64-versies van Windows Server 2003.
Voor systemen waarop deze besturingssystemen worden uitgevoerd, moet Windows Search zijn geïnstalleerd om toepassingen uit te voeren die zijn geschreven voor Windows Search.
Aanvullende bronnen
- Zie De basismapobjectinterfacesimplementeren voor informatie over het maken van een Shell-gegevensbron.
- Zie voor meer informatie over ISearchFolderItemFactory- en de databasemapgegevensbron de beschrijving van de constante STR_PARSE_WITH_PROPERTIES in Contextreekssleutels binden. Zie ook Association Arrays en IPropertySystem::GetPropertyDescriptionListFromString.
- Zie OLE DB-programmeringsoverzichtvoor meer informatie over OLE DB. Zie de documentatie System.Data.OleDb-naamruimte voor meer informatie over de .NET Framework-gegevensprovider voor OLE DB.
- Zie Windows Search als een ontwikkelingsplatformvoor een overzicht van handlers voor bestandstypen (ook wel shell-extensiehandlers en zoekhandlers genoemd).
- Voor door de community ondersteunde berichtenborden over Zoektechnologieën, zie Microsoft Q&A.
- Zie Windows Search-codevoorbeeldenvoor gerelateerde codevoorbeelden.
Verwante onderwerpen