Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit dem Crawl Scope Manager (CSM) können Sie Suchstammverzeichnisse für Ihre Datenspeicher zum und aus dem Windows Search-Durchforstungsbereich hinzufügen und entfernen.
Dieses Thema umfasst die folgenden Themen:
- Informationen zu Such-Roots
- Vorbereitungen
- Windows 7: Neue Crawl Scope Manager API
- Hinzufügen von Roots zum Crawler-Bereich
- Entfernen von Wurzeln aus dem Durchforstungsbereich
- Aufzählen von Wurzeln im Suchbereich
- Verwandte Themen
Informationen zu Suchwurzeln
Ein Suchstamm definiert die Basis eines Shell-Namespaces, in dem bestimmte Bereiche eingeschlossen oder ausgeschlossen werden können, und ist in der Regel der Container der höchsten Ebene in einem Protokoll, das aufgezählt werden kann. Es gibt nicht an, welche Teile dieses Speichers indiziert werden sollen oder nicht; es signalisiert lediglich, dass ein Inhaltsspeicher vorhanden ist und einem registrierten Protokollhandler zugeordnet ist. Die Syntax zur Identifizierung einer Suchroot-URL enthält das Protokoll, den Sicherheitsbezeichner des Stores oder des Benutzers, den Pfad und optional ein bestimmtes Element (z. B. eine Datei). Die folgenden Beispiele zeigen zwei Formen der Syntax für einen Suchstamm.
<protocol>://<store or SID>\<path>\[item]
or
<protocol>://<store or SID>/<path>/[item]
Auf das <Protokollsegment> müssen zwei (2) Schrägstriche ('/') folgen, es sei denn, es handelt sich um das Protokoll 'file:', das drei Schrägstriche (file:///) erfordert. Das <Website- oder SID-Segment> stellt entweder einen Inhaltsspeicher oder einen Benutzersicherheitsbezeichner dar, wenn der Suchstamm für den Benutzer spezifisch sein soll. Das <Pfadsegment> ist eine Gruppe von Containern, z. B. Verzeichnissen oder Ordnern, und kann das Wildcardzeichen '*' enthalten. Das <Elementabschnitt> ist optional und kann auch das Wildcardzeichen '*' enthalten. Wenn Sie kein Element einschließen, müssen Sie das Pfadsegment mit einem Schrägstrich abschließen, oder der Indexer geht davon aus, dass der letzte Untercontainer ein Element ist.
Angenommen, Sie haben einen Protokollhandler (MyPH) implementiert, um Dateien vom Typ "*.myext" für eine benutzerdefinierte Anwendung zu verarbeiten. Alle diese Dateien befinden sich im Ordner WorkteamA\ProjectFiles auf einem lokalen Computer. Suchstamm könnte so aussehen:
- myPH:///C:\WorkteamA\ProjectFiles\
Angenommen, Sie planen, alle .myext-Dateien einzuschließen, aber nichts anderes aus diesem Container im Index. Der Suchstamm könnte so aussehen:
- myPH:///C:\WorkteamA\ProjectFiles\*.myext.
Wildcardmuster definieren URLs mithilfe des Wildcardzeichens "*" und werden als Muster anstelle einer URL betrachtet, die Terminologie wird jedoch häufig austauschbar verwendet. Beispielsweise würde file:///C:\ProjectA\*\data\ den folgenden URLs entsprechen:
- C:\ProjectA\version1\data\
- C:\ProjectA\version2\data\
Dieses Muster stimmt jedoch nicht mit dieser URL überein:
- C:\ProjectA\version1\temp\data\
Sie sollten neue Suchwurzeln für Container erstellen, die sich nicht bereits im Crawlbereich des Indexers befinden. Wenn der Pfad "C:\ParentScope" bereits im Suchbereich enthalten ist, müssen Sie keinen neuen Suchstamm für C:\ParentScope\ChildScope hinzufügen. Es sei denn, Sie wissen, dass der untergeordnete Bereich zuvor ausgeschlossen wurde.
Auf der Benutzeroberfläche zum Festlegen von Windows Search-Optionen werden Suchwurzeln für Benutzer angezeigt, sodass sie die Bereichsregeln für ihre Suchvorgänge verfeinern können. Im Rahmen des Installationsprozesses für den benutzerdefinierten Protokollhandler, Container und/oder die Anwendung können Sie einen Standarddurchforstungsbereich mit Einschluss- und Ausschlussregeln definieren. Diese Regeln werden Endbenutzern als Standorte angezeigt. Benutzer können in den Unterverzeichnissen Ihres vordefinierten Suchstamms navigieren und diejenigen auswählen, die sie in Suchvorgänge einbeziehen möchten, oder diejenigen löschen, die sie ausschließen möchten.
Bevor Sie anfangen
Bevor Sie eine der CSM-Schnittstellen (Crawl Scope Manager) verwenden können, müssen Sie die folgenden erforderlichen Schritte ausführen:
- Erstellen Sie das CrawlSearchManager-Objekt , und rufen Sie dessen ISearchManager-Schnittstelle ab.
- Rufen Sie "ISearchManager::GetCatalog " für "SystemIndex" auf, um eine Instanz einer ISearchCatalogManager-Schnittstelle abzurufen.
- Rufen Sie ISearchCatalogManager::GetCrawlScopeManager auf, um eine Instanz der ISearchCrawlScopeManager-Schnittstelle abzurufen.
Nachdem Sie Änderungen am Crawl Scope Manager (CSM) vorgenommen haben, müssen Sie ISearchCrawlScopeManager::SaveAll aufrufen. Diese Methode akzeptiert keine Parameter und gibt S_OK bei Erfolg zurück.
Windows 7: neue API für Crawl Scope Manager
In Windows 7 und höher erweitert ISearchCrawlScopeManager2 die Funktionalität der ISearchCrawlScopeManager-Schnittstelle . Die ISearchCrawlScopeManager2::GetVersion-Methode ruft die CsM-Version (Crawl Scope Manager) ab, die Clients informiert, wenn sich der Status des CSM geändert hat. ISearchCrawlScopeManager2::GetVersion führt nicht zu einem prozessübergreifenden Aufruf. Wenn die Funktion erfolgreich ist, bleibt der zurückgegebene Zeiger gültig, bis der Client UnmapViewOfFile für den Zeiger und CloseHandle für den zurückgegebenen Handle aufruft.
Hinzufügen von Wurzeln zum Durchforstungsbereich
Der ISearchCrawlScopeManager teilt der Suchmaschine mit, dass Container durchforstet und/oder überwacht werden, und Elemente unter diesen Containern, die eingeschlossen oder ausgeschlossen werden sollen. Um einen neuen Suchstamm hinzuzufügen, instanziieren Sie ein ISearchRoot-Objekt , legen Sie die Stammattribute fest, und rufen Sie dann ISearchCrawlScopeManager::AddRoot auf, und übergeben Sie es an Ihr ISearchRoot-Objekt . Die Suchstamm-URL hat dieselbe Form wie der zuvor beschriebene Suchstamm.
In der folgenden Tabelle werden die relevanten Put-Methoden für ISearchRoot beschrieben; die anderen Put-Methoden der Schnittstelle werden derzeit nicht von der Windows-Suche verwendet. Wir empfehlen, die Sicherheits-IDs (Security Identifiers, SIDs) der Benutzer in alle Wurzeln einzugeben, um eine bessere Sicherheit zu gewährleisten. Benutzerspezifische Wurzeln sind sicherer, da Abfragen in einem Benutzervorgang ausgeführt werden, damit gewährleistet ist, dass ein Benutzer Elemente, die aus dem Posteingang eines anderen Benutzers indiziert sind, nicht einsehen kann.
| Methode | Description |
|---|---|
| put_BenachrichtigungenBereitstellen | Wird auf TRUE festgelegt, wenn ein Protokollhandler oder eine andere Anwendung die Suchmaschine über Änderungen an den URLs unter dem Suchstamm benachrichtigt. Die Benachrichtigung gibt an, dass die URLs neu indiziert werden müssen. |
| put_StammURL | Legt die Stamm-URL der aktuellen Suche fest. Die URL verwendet das zuvor beschriebene Suchstammformular. |
Standardmäßig durchforstet der Indexer keinen Bereich, wenn Sie einen Suchstamm hinzufügen. Sie müssen auch eine Include-Regel für den Root hinzufügen. Wenn Sie einen benutzerspezifischen Stamm für eine Anwendung hinzufügen möchten, sollte diese Anwendung beim Start der Anwendung die entsprechenden Wurzeln für neue Benutzer hinzufügen.
So fügen Sie die entsprechenden Wurzeln für neue Benutzer hinzu:
- Rufen Sie die SID des Benutzers ab.
- Aufzählen aller Wurzeln, um zu überprüfen, ob eine für diese SID vorhanden ist.
- Fügen Sie ggf. einen neuen Stamm mithilfe der SID hinzu.
Entfernen von Wurzeln aus dem Durchforstungsbereich
Sie können ISearchCrawlScopeManager verwenden, um einen Stamm aus dem Crawl-Bereich zu entfernen, wenn diese URL nicht mehr indiziert werden muss. Durch das Entfernen eines Stamms werden auch alle Bereichsregeln für diese URL gelöscht. Angenommen, Sie möchten einen Inhaltsspeicher und/oder dessen Protokollhandler aus einem System deinstallieren. Sie können die Anwendung deinstallieren, alle Daten löschen und dann die Such-Wurzel aus dem Crawler-Bereich entfernen. Der Crawl Scope Manager entfernt anschließend die Wurzel und alle Bereichsregeln, die mit der Wurzel verbunden sind.
Um einen vorhandenen Suchstamm zu entfernen, rufen Sie ISearchCrawlScopeManager::RemoveRoot mit dem Zu entfernenden Suchstamm auf. Die Suchstamm-URL hat dieselbe Form wie der zuvor beschriebene Suchstamm. Diese Methode gibt S_FALSE zurück, wenn der Stamm nicht gefunden wurde, und einen Fehlercode, wenn ein Fehler beim Entfernen eines gefundenen Stamms aufgetreten ist.
Durch das Entfernen eines Suchstamms wird auch die URL aus der Benutzeroberfläche für Windows Search-Optionen entfernt, sodass Benutzer diesen Container oder Speicherort möglicherweise nicht mithilfe der Benutzeroberfläche erneut hinzufügen können. Es ist auch möglich, alle benutzerdefinierten Überschreibungen einer Suchwurzel zu entfernen und auf die ursprünglichen Suchwurzel- und Bereichsregeln zurückzusetzen. Weitere Informationen finden Sie unter Verwalten von Bereichsregeln.
Hinweis
Wenn Benutzer unter Windows Vista über Benutzerprofile in der Systemsteuerung entfernt werden, entfernt CSM alle Regeln und Wurzeln, die an ihre SID gebunden sind, und entfernt ihre im Katalog verzeichneten Elemente. Unter Windows XP müssen Sie die Wurzeln und Regeln der Benutzer manuell entfernen.
Aufzählen von Wurzeln im Durchforstungsbereich
Das CSM listet Suchwurzeln mithilfe einer standardmäßigen COM-Enumeratorschnittstelle auf, IEnumSearchRoots. Sie können diese Schnittstelle verwenden, um Suchwurzeln für eine Reihe von Zwecken aufzählen zu können. Sie können beispielsweise den gesamten Crawl-Bereich in einer Benutzeroberfläche darstellen oder ermitteln, ob sich eine bestimmte Wurzel oder das Kind einer Wurzel bereits im Crawl-Bereich befindet.
Zugehörige Themen
-
Referenz
-
Konzeptionelle