De catalogusbeheerder gebruiken

De ISearchCatalogManager en ISearchCatalogManager2 interfaces bieden methoden voor het beheren van een zoekcatalogus, zoals het opnieuw indexeren of instellen van time-outs. Hoewel Windows Search momenteel slechts één catalogus gebruikt, is deze interface ontworpen om u meer controle te geven over het onafhankelijk beheren van meerdere catalogi. De interface beheert de catalogus op de volgende manieren:

  • Toegang tot andere interfaces: het ophalen van andere zoekgerelateerde interfaces die vereist zijn voor verkenningsbereikbeheer, meldingen voor gegevenswijziging en de interface van ISearchQueryHelper.
  • Catalogusinhoud: ervoor zorgen dat nieuwe gegevens worden geïndexeerd en dat andere toepassingen en onderdelen correct werken door het opnieuw indexeren van alle of delen van de catalogus af te dwingen of door de hele catalogus opnieuw in te stellen.
  • Cataloguseigenschappen: eigenschappen instellen die bepalen hoe de catalogus time-outs beheert bij het maken van verbinding met protocolhandlers en hoe diakritische markeringen worden behandeld in zoekopdrachten.
  • Catalogusstatus: informatie over de catalogus ophalen, inclusief status, grootte en huidige activiteitsstatus.

Dit onderwerp is als volgt ingedeeld:

Voor sommige nuttige interfaces in het Windows Search-platform is een exemplaar van Catalog Manager vereist voordat deze kunnen worden gebruikt. Als u een Catalogusbeheer voor een opgegeven catalogus wilt maken, roept u de methode ISearchManager::GetCatalog aan. De methoden van Catalog Manager kunnen vervolgens worden gebruikt om interfaces te instantiëren en te retourneren die zijn gebaseerd op de opgegeven catalogus.

Methode Beschrijving
GetQueryHelper Hiermee haalt u een exemplaar van de ISearchQueryHelper interface voor de huidige catalogus op, zodat u eenvoudig query's kunt maken.
GetCrawlScopeManager Hiermee haalt u een exemplaar van ISearchCrawlScopeManager voor deze zoekcatalogus op, zodat ontwikkelaars het verkenningsbereik van de Windows Search-indexeerfunctie kunnen wijzigen.
GetItemsChangedSink Hiermee haalt u een exemplaar op van de ISearchItemsChangedSink interface, die clienttoepassingen gebruiken om de indexeerfunctie op de hoogte te stellen van wijzigingen wanneer de client statusinformatie over het item wil indexeren om door de provider beheerde meldingen te ondersteunen. Zie De index van wijzigingen melden voor meer informatie.
GetPersistentItemsChangedSink Hiermee wordt een exemplaar van ISearchPersistentItemsChangedSinkopgehaald. Clienttoepassingen gebruiken dit om de indexeerfunctie te informeren over wijzigingen wanneer de client geen informatie over de indexeringsstatus wil ontvangen (meldingen beheerd door de indexeerfunctie). Zie De index van wijzigingen melden voor meer informatie.

De catalogusinhoud beheren

Er zijn twee primaire taken betrokken bij het beheren van de catalogus: het opnieuw indexeren van alle of sommige URL's in het verkenningsbereik van de indexeerfunctie en het opnieuw instellen van de volledige onderliggende catalogus. Wanneer u URL's opnieuw indexeert, blijven oude gegevens in de catalogus staan tot of tenzij deze worden vervangen door nieuwe gegevens. Wanneer u de catalogus opnieuw instelt, wordt de hele catalogus opnieuw opgebouwd en worden alle URL's in het verkenningsbereik opnieuw geïndexeerd. Dit proces kan veel tijd in beslag nemen en moet alleen worden gebruikt als laatste redmiddel voor het oplossen van problemen zoals een mogelijk beschadigde index.

Wanneer u een nieuwe applicatie, protocolhandler of filter installeert, moet de installatieapplicatie zijn map of hoofdmap toevoegen aan het doorzoekingsgebied om ervoor te zorgen dat de indexeringsfunctie de locatie van de gegevens van die applicatie opneemt. Als de gegevens niet in de catalogus worden weergegeven nadat het verkenningsbereik van de indexeerfunctie is verkend, moet u eerst controleren of de locatie van de gegevens is opgenomen in het verkenningsbereik. U kunt het toevoegen met behulp van de gebruikersinterface van Windows Search-opties of de Crawl Scope Manager. Als de locatie zich in het verkenningsbereik bevindt, kunt u handmatig een herindexering van alle URL's in het verkenningsbereik van de indexeerfunctie of een subset afdwingen met behulp van de volgende methoden van de ISearchCatalogManager interface.

Methode voor opnieuw indexeren Beschrijving
ISearchCatalogManager::Indexeren Indexeert alle URL's in de catalogus opnieuw. De oude gegevens blijven behouden totdat deze worden vervangen door nieuwe informatie.
ISearchCatalogManager::ReindexMatchingURLs
ISearchCatalogManager::ReindexSearchRoot
Herindexeert URL's die overeenkomen met het patroon of beginnen bij een specifieke hoofdmap (bijvoorbeeld file:///C:\Mapnaam\Submapnaam\). Dit is handig voor het opnieuwcrawlen van alles in een bepaalde map of met een bepaalde extensie, zoals wanneer een toepassing is geïnstalleerd.
PrioriterenVanOvereenkomendeURLs Geeft de indexeerfunctie de opdracht om prioriteit te geven aan het indexeren van items met URL's die overeenkomen met een opgegeven patroon voor het voltooien van andere indexeringstaken.

De index opnieuw instellen. U kunt de hele index opnieuw instellen met een aanroep naar ISearchCatalogManager::Reset. Hiermee wordt de onderliggende catalogus opnieuw ingesteld door de databases opnieuw te bouwen en een volledige index van alle URL's in het verkenningsbereik uit te voeren. Dit proces kan veel tijd in beslag nemen en moet alleen worden gebruikt als laatste redmiddel voor het oplossen van problemen zoals een mogelijk beschadigde index.

Belangrijk

Vanwege de vertraging in het indexeren die deze methoden kunnen veroorzaken, moeten ze zorgvuldig worden gebruikt wanneer u indexerings- of catalogusproblemen probeert te identificeren. Controleer eerst of uw zoekwortels en bereikregels zijn toegevoegd in verkenningsbereikbeheer en zorg er vervolgens voor dat de FANCI-bit (bestandskenmerk niet inhoud geïndexeerd) juist is ingesteld voor bestanden en mappen. Als u hebt bevestigd dat deze juist zijn, probeer dan eerst ReindexSearchRoot en als laatste Reindex. Als geen van deze bewerkingen werkt, probeert u Reset als laatste redmiddel.

Voor gerelateerde informatie, zie Het melden van wijzigingen aan de indexen Het doorzoeken van de index met ISearchQueryHelper.

Catalogusstatus beheren

Catalog Manager kan worden gebruikt om de status van de catalogus op te halen voor toepassingen die willen aanpassen hoe de catalogus wordt beheerd (bijvoorbeeld een aangepaste bewakingstoepassing 'Catalogusstatus'). Maar Catalog Manager is doorgaans niet vereist voor de meeste zoekgerelateerde ontwikkelscenario's. Veelvoorkomende toepassingen zijn een bewakingstoepassing voor de catalogusstatus of een toepassing zoals het Configuratiescherm.

In de volgende tabel worden de methoden van ISearchCatalogManager beschreven die worden gebruikt voor het beheren van de catalogusstatus.

Methode Beschrijving
URLBeingIndexed Hiermee haalt u de URL op die momenteel wordt geïndexeerd. Deze methode zou handig zijn als u probeerde te bepalen of de indexeerfunctie 'vastgelopen' was op een item.
NumberOfItems Hiermee haalt u het aantal items in de catalogus op.
AantalTeIndexerenItems Haalt de volgende informatie op over items die moeten worden geïndexeerd:
  • plIncrementalCount - het aantal items dat moet worden geïndexeerd in de volgende incrementele index
  • plNotificationQueue: het aantal items in de meldingswachtrij. Deze informatie is handig voor een meldingstoepassing die nodig is om te controleren of de indexeerfunctie de meldingen ontvangt die de toepassing verzendt.
  • plHighPriorityQueue : het aantal items in de wachtrij met hoge prioriteit. Items in de plHighPriorityQueue worden eerst geïndexeerd.
GetCatalogStatus Hiermee wordt de status van de catalogus opgehaald en wordt een opsommingswaarde geretourneerd die de huidige status geeft. Hier volgen mogelijke catalogusstatussen:
  • Niet-actief: er is geen indexering nodig.
  • Onderbroken: indexering is onderbroken (bijvoorbeeld vanwege een lage batterij of een hoog CPU-gebruik).
  • Herstel: indexering is aan het herstellen.
  • Volledige verkenning: Indexeerfunctie voert een volledige verkenning van het verkenningsbereik uit.
  • Incrementele verkenning: Indexeerfunctie voert een incrementele verkenning uit.
  • Meldingen verwerken: Indexeerfunctie verwerkt meldingen.
  • Afsluiten: Indexeerfunctie wordt afgesloten.
get_Name Hiermee haalt u de naam op van de huidige catalogus die is opgegeven in de methode ISearchManager::GetCatalog. Momenteel wordt de enige ondersteunde catalogus SystemIndex.

Cataloguseigenschappen beheren

Er zijn drie cataloguseigenschappen die u kunt beheren met Catalog Manager:

  • Gevoeligheid voor diakritische tekens. Diakritische tekens zijn accentmarkeringen die zijn toegevoegd aan letters om de betekenis of uitspraak van een woord aan te geven. Deze eigenschap bepaalt of de catalogus gevoelig is voor diakritische tekens en is belangrijk wanneer u of uw gebruikers tekst in meerdere talen doorzoeken en indexeren. Als deze eigenschap bijvoorbeeld is ingesteld op ONWAAR, behandelt de catalogus 'cv' en 'cv', alsof ze hetzelfde woord zijn.
  • Time-outs voor verbinding. Deze eigenschap vertegenwoordigt de hoeveelheid tijd die moet worden gewacht op een verbindingsantwoord van een server of gegevensarchief, zoals aangegeven in een TIMEOUT_INFO structuur. U kunt deze eigenschap gebruiken om Windows Search af te stemmen.
  • Gegevens-time-outs Deze eigenschap vertegenwoordigt de hoeveelheid tijd die moet worden gewacht op een gegevens-transactie tussen de indexer en een protocolhandler of -filter, zoals weergegeven in een TIMEOUT_INFO structuur. Als deze tijd is verstreken, wordt het proces van de filterdemon beëindigd om impasses en andere resourceproblemen te voorkomen.

De laatste twee eigenschappen zijn voornamelijk bedoeld voor toekomstig gebruik. Elk van deze eigenschappen heeft get- en put methoden.

Methode Beschrijving
get_DiacriticSensitivity /
put_DiacriticSensitivity
WAAR als de catalogus woorden met diakritische tekens moet onderscheiden. FALSE indien de catalogus diakritische tekens zou moeten negeren. Als u deze eigenschap wijzigt, moet de index opnieuw worden opgebouwd omdat de sleutels van de index mogelijk ongeldig worden.
get_ConnectTimeout /
put_ConnectTimeout
De tijd, in seconden, dat de indexeerfunctie moet wachten op een verbindingsreactie van een server of gegevensarchief. Als u deze instelling te hoog instelt, kan dit vertragingen veroorzaken als veel sites niet reageren. Als u deze instelling te laag instelt, kunnen sommige sites niet worden verkend.
get_DataTimeout /
put_DataTimeout
De tijd, in seconden, dat de indexeerfunctie moet wachten op een gegevenstransactie.

Wordt uitgevoerd in verhoogde modus

Voor elke methode die de SystemIndex bijwerkt, moet uw toepassing worden uitgevoerd met verhoogde bevoegdheden. Anders mislukt uw toepassing met de fout Toegang geweigerd.

Het indexbeheer

Interfaces voor het beheren van de index

Search Manager gebruiken

het verkenningsbereikbeheer gebruiken