Freigeben über


Verwalten von Bereichsregeln

Mit dem Durchforstungsbereichs-Manager (CSM) können Sie Bereichsregeln definieren, die URLs aus dem Windows Search-Durchforstungsbereich einschließen oder ausschließen.

Mit dem CSM können Sie folgende Aktionen ausführen:

  • Hinzufügen neuer Bereichsregeln zum Arbeitsregelsatz
  • Entfernen vorhandener Bereichsregeln
  • Auflisten von Standardbereichsregeln
  • Ermitteln, ob eine bestimmte URL im Durchforstungsbereich enthalten oder ausgeschlossen ist oder über eine übergeordnete oder untergeordnete Bereichsregel verfügt

 

Dieses Thema enthält die folgenden Themen:

Informationen zu Bereichsregeln

Eine Bereichsregel ist eine Regel, die URLs innerhalb eines Suchstamms einschließt oder davon ausschließt, durchforstet und indiziert zu werden. Einschlussregeln bewirken, dass der Indexer diese URL in den Scrawlbereich einschließt, und Ausschlussregeln führen dazu, dass der Indexer diese URL (und ihre untergeordneten Elemente) aus dem Durchforstungsbereich ausschließt.

Angenommen, Sie haben eine neue Anwendung installiert, deren Datendateien sich im Ordner WorkteamA\ProjectFiles auf einem lokalen Computer befinden. Angenommen, Sie möchten, dass alles im Ordner ProjectFiles mit Ausnahme von Elementen im Unterordner Prototypes indiziert werden soll. In diesem Fall benötigen Sie eine Einschlussregel für myPH:///C:\WorkteamA\ProjectFiles\ und eine Ausschlussregel für myPH:///C:\WorkteamA\ProjectFiles\Prototypes\.

Es gibt drei Arten von Regeln mit der folgenden Rangfolge:

  1. Gruppenrichtlinie Regeln werden von Administratoren festgelegt und können alle anderen Regeln außer Kraft setzen.
  2. Benutzerregeln werden von Benutzern festgelegt, die den Bereich in der Benutzeroberfläche der Windows-Suchesoptionen ändern. Benutzer oder andere Anwendungen können alle Benutzerregeln und rückgängig machen zu Standardregeln entfernen.
  3. Standardregeln werden in der Regel von einer Anwendung festgelegt, um einen Standardbereich zu definieren. Beispielsweise können Standardregeln festgelegt werden, wenn dem System ein neuer Protokollhandler oder Container hinzugefügt wird.

Zusammen bilden diese Arten von Regeln den Arbeitsregelsatz , aus dem der Durchforstungsbereichs-Manager (CSM) die vollständige Liste der zu durchforstenden URLs generiert. Standardregeln können zwar von Gruppenrichtlinienregeln und von Benutzerregeln überschrieben werden, sie werden jedoch in ihrem eigenen Standardregelsatz verwaltet, mit dem Sie jederzeit rückgängig machen können. Der Indexer durchforstet die URLs aus dem Arbeitsregelsatz und fügt dem Katalog Elemente, Eigenschaften und Inhalte hinzu.

Hinweis

Benutzer mit Zugriff auf Systemsteuerung können die Regeln über diese Schnittstelle ändern. Daher sollten Anwendungen, die Bereichsverwaltung anbieten, die Regeln immer direkt aus dem CSM abrufen, indem sie die Enumerationsmethoden verwenden, anstatt sich auf eine gespeicherte Kopie von Benutzerregeln zu verlassen.

 

Ausschlussregeln können Muster-URLs mit dem Wildcardzeichen "*" definieren. Beispiel: file:///C:\ProjectA\*\. Eine Ausschlussregel, die dieses Muster verwendet, verhindert, dass der Indexer Ordner im ProjectA-Verzeichnis durchforstet. Angenommen, es gibt eine Einschlussregel für file:///C:\ProjectA\ und eine Ausschlussmusterregel für file:///C:\ProjectA\\data\*. In diesem Fall durchforstet der Indexer Elemente in:

  • C:\ProjectA\
  • C:\ProjectA\version1\testfiles\
  • C:\ProjectA\version1\temp\data\

Der Indexer würde jedoch keine Elemente in durchforsten:

  • C:\ProjectA\version1\data\

 

Vorbereitungen

Bevor Sie eine der Schnittstellen des Durchforstungsbereichs-Managers verwenden, müssen Sie die folgenden erforderlichen Schritte ausführen:

  1. Erstellen Sie das CSearchManager-Objekt , und rufen Sie dessen ISearchManager-Schnittstelle ab.
  2. Rufen Sie ISearchManager::GetCatalog für "SystemIndex" auf, um eine instance der ISearchCatalogManager-Schnittstelle abzurufen.
  3. Rufen Sie ISearchCatalogManager::GetCrawlScopeManager auf, um eine instance der ISearchCrawlScopeManager-Schnittstelle abzurufen.

Nachdem Sie Änderungen am Durchforstungsbereichs-Manager vorgenommen haben, müssen Sie die ISearchCrawlScopeManager::SaveAll-Methode aufrufen. Diese Methode akzeptiert keine Parameter und gibt bei Erfolg S_OK zurück.

 

Hinzufügen von Bereichsregeln

Die für den CSM festgelegten Arbeitsregeln umfassen Benutzer- und Standardregeln sowie alle Regeln, die durch eine Gruppenrichtlinie erzwungen werden. Benutzerregeln werden von Benutzern in einer Benutzeroberfläche eingerichtet, und Standardregeln können durch eine der folgenden Optionen festgelegt werden:

  • Von einem Systemadministrator implementierte Gruppenrichtlinien (diese verwenden nicht die ISearchCrawlScopeManager-Schnittstelle .)
  • Die Installation oder Aktualisierung einer Anwendung wie Windows Search oder eines Protokollhandlers
  • Eine Setupanwendung zum Hinzufügen eines neuen Datenspeichers oder Containers

Der ISearchCrawlScopeManager bietet zwei Methoden zum Hinzufügen neuer Bereichsregeln, wie in der folgenden Tabelle beschrieben. Pfade für Einschlussregeln für das Dateisystem müssen mit einem umgekehrten Schrägstrich "\" enden (z. B. file:///C:\files\), und Pfade für Ausschlussregeln müssen mit einem Sternchen enden (z. B. file:///c:\files\*). Nur Ausschlussregeln können Muster-URLs enthalten. Darüber hinaus wird empfohlen, die Sicherheits-IDs (SIDs) von Benutzern in Pfade einzugeben, um die Sicherheit zu verbessern. Benutzerspezifische Pfade sind sicherer, da Abfragen dann in einem benutzerspezifischen Prozess ausgeführt würden. So wird sichergestellt, dass ein Benutzer z. B. keine Elemente aus dem Posteingang eines anderen Benutzers indiziert sehen kann.

In der folgenden Tabelle werden die Methoden der ISearchCrawlScopeManager-Schnittstelle beschrieben, die zum Hinzufügen neuer Bereichsregeln verwendet werden.

Methode Beschreibung
AddUserScopeRule Fügt eine Regel für eine URL hinzu, wie vom Benutzer angegeben. Diese Regeln setzen Standardregeln außer Kraft. Verwenden Sie diese Methode, wenn Sie eine Benutzeroberfläche implementiert haben, mit der Benutzer ihre eigenen Bereichsregeln und URLs verwalten können.
AddDefaultScopeRule Fügt eine Regel für eine URL hinzu, die von einer anderen Anwendung wie einem Protokollhandler angegeben wird. Verwenden Sie diese Methode, wenn Sie einen neuen Protokollhandler implementiert oder einen neuen Datenspeicher hinzugefügt haben. Diese Regeln können von Benutzerregeln überschrieben werden.

 

Jede Methode verwendet eine URL an einen indizierbaren Speicherort und Flags, die bestimmen, ob die URL eingeschlossen oder ausgeschlossen werden soll. Der Parameter fFollowFlags ist für die zukünftige Verwendung reserviert. Wenn Sie eine neue Bereichsregel hinzufügen und der Durchforstungsbereichs-Manager feststellt, dass die Regel bereits vorhanden ist (basierend auf der URL oder dem angegebenen Muster), wird der Arbeitsregelsatz aktualisiert, sodass (1) die alte Regel durch die neue Regel ersetzt wird und (2) alle Benutzerregeln entfernt werden, die ihr widersprechen.

Tipp: Während der file:// Stamm stamm standardmäßig im Durchforstungsbereich enthalten ist, ist Program Files nicht standardmäßig indiziert. Daher müssen Anwendungen mit Daten, die in ihrem Verzeichnis "Programme" gespeichert sind, ihren Speicherort als Standardregel hinzufügen.

Hinweise zu Benutzerregeln

Wenn eine neue Benutzerregel mit einer vorhandenen Standardregel identisch ist, setzt die neue Benutzerregel die Standardregel im Arbeitsregelsatz außer Kraft. Wenn die neue Benutzerregel mit einer vorhandenen Benutzerregel identisch ist, wird die alte Benutzerregel ersetzt.

Das Festlegen des Flags fOverrideChildren führt im Arbeitsregelsatz zu den folgenden Ergebnissen:

  • TRUE führt dazu, dass alle untergeordneten Regeln aus dem Arbeitsregelsatz entfernt werden (sowohl Benutzerregeln als auch Standardregeln).
  • FALSE führt dazu, dass alle Standardregeln, die untergeordnete Elemente der neuen Benutzerregel sind, den Arbeitsregeln erneut hinzugefügt werden. Wenn eine untergeordnete Standardregel eine Aufnahme ist und die neue Benutzerregel ein Ausschluss ist, wird die Standardregel in eine Inklusionsbenutzerregel geändert.

 

Entfernen von Bereichsregeln

Sie können die ISearchCrawlScopeManager-Schnittstelle verwenden, um eine Bereichsregel aus dem Arbeitsregelsatz zu entfernen. Diese Schnittstelle stellt die folgenden zwei Methoden zum Entfernen von Bereichsregeln bereit.

Methode Beschreibung
RemoveScopeRule Entfernt eine Benutzerregel für eine angegebene URL aus dem Arbeitsregelsatz. Wenn die Benutzerregel ein Duplikat von ist oder eine Standardregel überschreibt, verbleibt die Standardregel im Arbeitsregelsatz.
RemoveDefaultScopeRule Entfernt eine Standardregel für eine angegebene URL sowohl aus dem Arbeitsregelsatz als auch aus dem Standardregelsatz. Nach dem Aufrufen dieser Methode können Sie diese Standardregel nicht mit RevertToDefaultScopes rückgängig machen.

 

Jede Methode akzeptiert eine URL und ein Flag, das angibt, ob die zu entfernende Regel eine Einschluss- oder Ausschlussregel ist. Diese Methoden geben einen Fehler zurück, wenn eine Regel mit dieser URL und dem Einschluss-/Ausschlussflag nicht gefunden wird.

Tipp: Wenn Sie einen Bereich vollständig aus dem Durchforstungsbereich entfernen möchten, verwenden Sie die RemoveRoot-Methode , die den Suchstamm und alle zugeordneten Bereichsregeln entfernt. Dies während der Deinstallation wird beispielsweise als bewährte Methode betrachtet.

Es ist auch möglich, alle Benutzersatzüberschreibungen eines Suchstamms und rückgängig machen auf die ursprünglichen Suchstamm- und Standardbereichsregeln zu entfernen. Weitere Informationen finden Sie im nächsten Abschnitt.

Hinweis

Wenn Benutzer unter Windows Vista über Benutzerprofile in Systemsteuerung entfernt werden, entfernt CSM alle Regeln und Stamme, die ihre SID enthalten, und entfernt ihre indizierten Elemente aus dem Katalog. Unter Windows XP müssen Sie die Stamm- und Regeln der Benutzer manuell entfernen.

 

 

Wiederherstellen von Standardregeln

Durch das Wiederherstellen von Standardregeln werden alle Benutzerregeln für eine URL oder einen Stamm entfernt und alle Standardregeln im Arbeitsregelsatz wiederhergestellt. Durch Gruppenrichtlinie festgelegte Regeln werden jedoch nicht entfernt. Die RevertToDefaultScopes-Methode akzeptiert keine Parameter und gibt einen Fehlercode zurück, wenn sie nicht auf Standardregeln rückgängig machen kann.

 

Auflisten von Bereichsregeln

Der CSM listet Bereichsregeln auf, indem er eine COM-enumerator-Standardschnittstelle verwendet, IEnumSearchScopeRules . Sie können diese Schnittstelle verwenden, um Bereichsregeln für verschiedene Zwecke aufzulisten. Sie können beispielsweise den gesamten Arbeitsregelsatz in einer Benutzeroberfläche anzeigen oder ermitteln, ob sich eine Regel oder das untergeordnete Element einer Regel bereits im Durchforstungsbereich befindet.

 

Ablaufverfolgungsbereichsregeln

Mit dem CSM können Sie auch bestimmen, ob eine angegebene URL im Durchforstungsbereich enthalten ist und ob sie eine übergeordnete oder untergeordnete Bereichsregel aufweist. Sie können auch herausfinden, warum eine URL im Durchforstungsbereich enthalten oder ausgeschlossen ist. Diese Methoden sind nicht für die Verwendung mit Muster-URLs vorgesehen.

In der folgenden Tabelle werden die Methoden von ISearchCrawlScopeManager beschrieben, die zum Hinzufügen neuer Bereichsregeln verwendet werden.

Methode BESCHREIBUNG
GetParentScopeVersionId Ruft die Versions-ID der übergeordneten Inklusions-URL ab. Sie können diese Methode verwenden, um festzustellen, ob sich der übergeordnete Bereich seit dem letzten Überprüfen geändert hat.
Beispiel: Wenn eine E-Mail-Anwendung vom Anbieter verwaltete Benachrichtigungen verwendet, erhält sie möglicherweise die übergeordnete Bereichsversion, bevor sie geschlossen wird, und überprüft die Version erneut, wenn sie geöffnet wird. Anschließend kann die Anwendung ermitteln, ob sie einen neuen Satz von Benachrichtigungen an den Indexer pushen muss.
HasChildScopeRule Gibt TRUE zurück, wenn die angegebene URL über eine untergeordnete Regel verfügt (eine Regel, die auf einer beliebigen Ebene innerhalb der URL-Hierarchie auf ein untergeordnetes Element angewendet wird).
Beispiel: Wenn die URL file:///C:\Ordner\ lautet, gibt diese Methode TRUE zurück, wenn der CSM eine Bereichsregel speziell für file:///C:\Ordner\Unterordner\ aufweist.
HasParentScopeRule Gibt TRUE zurück, wenn die angegebene URL über eine übergeordnete Regel verfügt (eine Regel, die auf einer beliebigen Ebene in der URL-Hierarchie auf ein übergeordnetes Element angewendet wird).
Beispiel: Wenn die URL file:///C:\Ordner\Unterordner lautet, gibt diese Methode TRUE zurück, wenn die CSM eine Bereichsregel speziell für file:///C:\Ordner\ aufweist.
IncludedInCrawlScope Gibt TRUE zurück, wenn die angegebene URL im Durchforstungsbereich enthalten ist.
IncludedInCrawlScopeEx Gibt einen Wert aus der CLUSION_REASON-Enumeration zurück, der erläutert, warum die URL im Durchforstungsbereich enthalten oder aus dem Durchforstungsbereich ausgeschlossen ist, und ruft den Wert TRUE ab, wenn die URL im Durchforstungsbereich enthalten ist. Diese Methode kann Ihnen helfen, Konflikte in Ihrem funktionierenden Regelsatz zu identifizieren.

 

 

Hinweis

Die Methoden IncludedInCrawlScope und IncludedInCrawlScopeEx bestimmen, ob die URL ausschließlich anhand der Regeln im CSM durchforstet wird. Es kann andere Gründe dafür geben, dass eine URL nicht durchforstet wird, z. B. das FESTGELEGTE FANCI-Bit (d. h., ein Benutzer hat die schnelle Indizierung im Dialogfeld Eigenschaft des Ordners nicht zugelassen.)

 

Wenn Sie der Meinung sind, dass ein Dateipfad ausgeschlossen werden sollte, aber als enthalten aufgeführt wird, stellen Sie sicher, dass Ausschlussregeln mit "<pfad>\*" enden. Wenn Sie der Meinung sind, dass ein Datei- oder Dateipfad enthalten sein sollte, aber nicht, überprüfen Sie die FANCI-Biteinstellung für die Datei oder den Pfad. Dazu klicken Sie mit der rechten Maustaste auf die Datei oder den Dateipfad und wählen Eigenschaften aus. Stellen Sie dann sicher, dass das Kontrollkästchen Für schnelle Suche indizieren sie den Indizierungsdienst für diesen Ordner aktivieren. Wenn der Datei- oder Dateipfad hier nicht für die Indizierung markiert ist, wird er auch dann nicht indiziert, wenn er sich in einer Einschlussregel befindet.

Referenz

ISearchCrawlScopeManager

ISearchCrawlScopeManager2

ISearchScopeRule

IEnumSearchScopeRules

Konzept

Verwalten von Suchstämmen