Zarządzanie regułami zakresu

Menedżer zakresu przeszukiwania (CSM) umożliwia definiowanie reguł zakresu, które obejmują lub wykluczają adresy URL z zakresu przeszukiwania usługi Windows Search.

CsM umożliwia wykonanie następujących czynności:

  • Dodawanie nowych reguł zakresu do roboczego zestawu reguł
  • Usuwanie istniejących reguł zakresu
  • Wyliczanie domyślnych reguł zakresu
  • Sprawdź, czy określony adres URL jest uwzględniony lub wykluczony z zakresu przeszukiwania, lub czy ma regułę zakresu nadrzędnego bądź podrzędnego.

 

Ten temat zawiera następujące tematy:

Informacje o regułach zakresu

Reguła zakresu to reguła, która obejmuje lub wyklucza adresy URL w głównym węźle wyszukiwania przed przeszukiwaniem i indeksowaniem. Reguły dołączania powodują, że indeksator uwzględnia ten adres URL w zakresie indeksowania, a reguły wykluczania powodują, że indeksator wyklucza ten adres URL (i jego elementy podrzędne) z zakresu przeszukiwania.

Załóżmy na przykład, że zainstalowano nową aplikację, której pliki danych znajdują się w folderze WorkteamA\ProjectFiles na komputerze lokalnym. Załóżmy, że chcesz, aby wszystkie elementy w folderze ProjectFiles zostały zaindeksowane z wyjątkiem elementów w podfolderze Prototypy. W takiej sytuacji potrzebna jest reguła dołączania dla myPH:///C:\WorkteamA\ProjectFiles\ i reguła wykluczania dla myPH:///C:\WorkteamA\ProjectFiles\Prototypes\.

Istnieją trzy typy reguł, z następującą kolejnością pierwszeństwa:

  1. Reguły zasad grupy są ustawiane przez administratorów i mogą zastąpić wszystkie inne reguły.
  2. Reguły użytkownika są ustawiane przez użytkowników modyfikujących zakres w interfejsie użytkownika opcji wyszukiwania systemu Windows. Użytkownicy lub inne aplikacje mogą usuwać wszystkie reguły użytkowników i przywracać reguły domyślne.
  3. Reguły domyślne są zwykle ustawiane przez aplikację w celu zdefiniowania zakresu domyślnego. Na przykład reguły domyślne mogą być ustawiane po dodaniu nowego programu obsługi protokołu lub kontenera do systemu.

Razem te typy reguł składają się z zestawu reguł roboczych , z którego menedżer zakresu przeszukiwania (CSM) generuje pełną listę adresów URL do przeszukiwania. Chociaż reguły domyślne mogą być zastępowane przez reguły zasad grupy i reguły użytkowników, są one przechowywane we własnym domyślnym zestawie reguł, które można przywrócić w dowolnym momencie. Indeksator przeszukiwa adresy URL z roboczego zestawu reguł i dodaje elementy, właściwości i zawartość do wykazu.

Notatka

Użytkownicy z dostępem do Panelu sterowania mogą modyfikować reguły za pośrednictwem tego interfejsu. W związku z tym aplikacje oferujące zarządzanie zakresem powinny zawsze pobierać reguły bezpośrednio z CSM przy użyciu metod wyliczania zamiast polegać na zapisanej kopii reguł użytkownika.

 

Reguły wykluczania mogą definiować adresy URL na podstawie wzorca z symbolem wieloznacznym '*'; na przykład: file:///C:\ProjectA\*\. Reguła wykluczania korzystająca z tego wzorca uniemożliwia indeksatorowi przeszukiwanie wszystkich folderów w katalogu ProjectA. W bardziej skomplikowanym przykładzie załóżmy, że istnieje reguła dołączania dla file:///C:\ProjectA\ i reguła wzorca wykluczania dla file:///C:\ProjectA\*\data\*. W takim przypadku indeksator będzie przeszukiwał elementy w:

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

Indeksator nie będzie jednak przeszukiwał elementów w:

  • C:\ProjectA\wersja 1\data\

 

Zanim rozpoczniesz

Przed użyciem dowolnego interfejsu Menedżera zakresu przeszukiwania należy wykonać następujące czynności wstępne:

  1. Utwórz obiekt CSearchManager i uzyskaj interfejs ISearchManager.
  2. Wywołaj ISearchManager::GetCatalog dla elementu "SystemIndex", aby uzyskać wystąpienie interfejsu ISearchCatalogManager.
  3. Wywołaj ISearchCatalogManager::GetCrawlScopeManager, aby uzyskać wystąpienie interfejsu ISearchCrawlScopeManager.

Po wprowadzeniu zmian w Menedżerze zakresu przeszukiwania należy wywołać metodę ISearchCrawlScopeManager::SaveAll. Ta metoda nie przyjmuje parametrów i zwraca S_OK na sukces.

 

Dodawanie reguł zakresu

Reguły robocze ustawione dla CSM obejmują reguły użytkownika i domyślne, a także wszelkie reguły wymuszane przez zasady grupy. Reguły użytkownika są konfigurowane przez użytkowników w interfejsie użytkownika, a reguły domyślne można ustawić za pomocą dowolnego z następujących elementów:

  • Zasady grupy zaimplementowane przez administratora systemu (nie używają interfejsu ISearchCrawlScopeManager).
  • Instalacja lub aktualizacja aplikacji, takiej jak Windows Search lub procedura obsługi protokołu
  • Aplikacja konfiguracji na potrzeby dodawania nowego magazynu danych lub kontenera

ISearchCrawlScopeManager udostępnia dwie metody dodawania nowych reguł zakresu zgodnie z opisem w poniższej tabeli. Ścieżki reguł dołączania dla systemu plików muszą kończyć się ukośnikiem odwrotnym "\" (na przykład file:///C:\files\), a ścieżki reguł wykluczania muszą kończyć się gwiazdką (na przykład file:///c:\files\*). Tylko reguły wykluczania mogą zawierać adresy URL wzorca. Ponadto zalecamy uwzględnienie identyfikatorów zabezpieczeń (SID) użytkowników w ścieżkach w celu zapewnienia lepszego bezpieczeństwa. Ścieżki poszczególnych użytkowników są bezpieczniejsze, ponieważ zapytania będą następnie uruchamiane w procesie poszczególnych użytkowników, zapewniając, że jeden użytkownik nie widzi elementów indeksowanych z skrzynki odbiorczej innego użytkownika, na przykład.

W poniższej tabeli opisano metody interfejsu ISearchCrawlScopeManager używanego do dodawania nowych reguł zakresu.

Metoda Opis
AddUserScopeRule Dodaje regułę dla adresu URL określonego przez użytkownika. Te reguły zastępują reguły domyślne. Użyj tej metody, jeśli zaimplementowałeś interfejs użytkownika, który pozwala użytkownikom na zarządzanie własnymi regułami zakresu i adresami URL.
DodajDomyślnąRegułęZakresu Dodaje regułę dla adresu URL, zgodnie z określeniem w innej aplikacji, na przykład w obsłudze protokołu. Użyj tej metody, jeśli zaimplementowano nową procedurę obsługi protokołu lub dodano nowy magazyn danych. Te reguły mogą być zastępowane przez reguły użytkowników.

 

Każda metoda pobiera adres URL do lokalizacji z możliwością indeksowania i flagi określające, czy adres URL powinien być uwzględniony, czy wykluczony. Parametr fFollowFlags jest zarezerwowany do użycia w przyszłości. Po dodaniu nowej reguły zakresu, gdy Menedżer zakresu przeszukiwania ustali, że taka reguła już istnieje (na podstawie adresu URL lub podanego wzorca), zestaw reguł roboczych jest aktualizowany tak, aby (1) stara reguła została zastąpiona przez nową i (2) wszystkie reguły użytkownika, które są z nią sprzeczne, zostały usunięte.

Porada: Podczas gdy katalog główny file:// jest domyślnie uwzględniony w zakresie przeszukiwania, program Files nie jest domyślnie indeksowany. W związku z tym aplikacje z danymi zapisanymi w katalogu Program Files muszą dodać swoją lokalizację jako regułę domyślną.

Uwagi dotyczące reguł użytkowników

Jeśli nowa reguła użytkownika jest taka sama jak istniejąca reguła domyślna, nowa reguła użytkownika zastępuje regułę domyślną w zestawie reguł roboczych. Jeśli nowa reguła użytkownika jest taka sama jak istniejąca reguła użytkownika, stara reguła użytkownika zostanie zamieniona.

Ustawienie flagi fOverrideChildren ma następujące wyniki w zestawie reguł roboczych:

  • TRUE powoduje usunięcie wszystkich reguł podrzędnych z roboczego zestawu reguł (zarówno reguł użytkownika, jak i reguł domyślnych).
  • FALSE powoduje ponowne dodanie do zestawu reguł roboczych wszystkich reguł domyślnych, które są elementami podrzędnymi nowej reguły użytkownika. Jeśli podrzędna reguła domyślna jest dołączaniem, a nowa reguła użytkownika jest wykluczeniem, domyślna reguła zostanie zmieniona na regułę dołączania użytkownika.

 

Usuwanie reguł zakresu

Aby usunąć regułę zakresu z działającego zestawu reguł, można użyć interfejsu ISearchCrawlScopeManager. Ten interfejs udostępnia następujące dwie metody usuwania reguł zakresu.

Metoda Opis
UsuńZasadyZakresu Usuwa regułę użytkownika dla określonego adresu URL z działającego zestawu reguł. Jeśli reguła użytkownika jest duplikatem lub zastępuje regułę domyślną, domyślna reguła pozostaje w roboczym zestawie reguł.
RemoveDefaultScopeRule Usuwa regułę domyślną dla określonego adresu URL zarówno z działającego zestawu reguł, jak i domyślnego zestawu reguł. Po wywołaniu tej metody nie można przywrócić tej reguły domyślnej przy użyciu polecenia RevertToDefaultScopes.

 

Każda metoda przyjmuje adres URL i flagę wskazującą, czy reguła, która ma zostać usunięta, jest regułą dołączania lub wykluczania. Te metody zwracają błąd, jeśli nie można odnaleźć reguły z tym adresem URL i flagą dołączania/wykluczania.

Porada: Jeśli chcesz całkowicie usunąć zakres z zakresu przeszukiwania, użyj metody RemoveRoot, która usuwa katalog główny wyszukiwania i wszystkie skojarzone reguły zakresu. Wykonanie tej czynności podczas odinstalowywania, na przykład, jest uznawane za najlepsze rozwiązanie.

Istnieje również możliwość usunięcia wszystkich ustawionych przez użytkownika przesłonięć katalogu głównego wyszukiwania i przywrócenia jego oryginalnych ustawień oraz domyślnych reguł zakresu. Aby uzyskać więcej informacji, zapoznaj się z następną sekcją.

Notatka

W systemie Windows Vista, jeśli użytkownicy są usuwani za pośrednictwem profilów użytkowników w Panelu sterowania, CSM usuwa wszystkie reguły i korzenie, które zawierają ich identyfikator SID, oraz usuwa z katalogu ich indeksowane elementy. W systemie Windows XP należy ręcznie usunąć katalogi root i reguły użytkowników.

 

 

Przywracanie do reguł domyślnych

Przywrócenie domyślnych reguł powoduje usunięcie wszystkich reguł użytkownika dla adresu URL lub katalogu głównego i przywrócenie wszystkich reguł domyślnych do roboczego zestawu reguł. Nie powoduje to jednak usunięcia reguł ustanowionych przez zasady grupowe. Metoda RevertToDefaultScopes nie przyjmuje żadnych parametrów i zwraca kod błędu, jeśli nie można przywrócić domyślnych reguł.

 

Wyliczanie reguł zakresu

CSM wylicza reguły zakresu przy użyciu standardowego interfejsu wyliczającego w stylu COM, IEnumSearchScopeRules . Za pomocą tego interfejsu można wyliczyć reguły zakresu w kilku celach. Na przykład możesz wyświetlić cały zestaw reguł roboczych w interfejsie użytkownika lub sprawdzić, czy reguła lub element podrzędny reguły znajduje się już w zakresie przeszukiwania.

 

Reguły zakresu śledzenia

CSM umożliwia również określenie, czy określony adres URL jest uwzględniony w zakresie przeszukiwania i czy ma regułę zakresu nadrzędnego lub podrzędnego. Możesz również dowiedzieć się, dlaczego adres URL jest uwzględniony lub wykluczony z zakresu przeszukiwania. Te metody nie są przeznaczone do użycia z wzorcowymi adresami URL.

W poniższej tabeli opisano metody ISearchCrawlScopeManager używane do dodawania nowych reguł zakresu.

Metoda Opis
GetParentScopeVersionId Pobiera identyfikator wersji nadrzędnego adresu URL włączenia. Tej metody można użyć, aby sprawdzić, czy zakres nadrzędny uległ zmianie od czasu ostatniego sprawdzenia.
Przykład: jeśli aplikacja poczty używa powiadomień zarządzanych przez dostawcę, może pobrać wersję zakresu nadrzędnego przed zamknięciem i ponownie sprawdzić wersję po jej otwarciu. Następnie aplikacja może określić, czy musi wypchnąć nowy zestaw powiadomień do indeksatora.
HasChildScopeRule Zwraca true, jeśli określony adres URL ma regułę podrzędną (reguła stosowana do elementu podrzędnego na dowolnym poziomie w hierarchii adresów URL).
Przykład: jeśli adres URL jest file:///C:\Folder\, ta metoda zwraca true jeśli CSM ma regułę zakresu przeznaczoną specjalnie dla file:///C:\Folder\Podfolder\.
HasParentScopeRule Zwraca true, jeśli określony adres URL ma regułę nadrzędną (reguła stosowana do elementu nadrzędnego na dowolnym poziomie w hierarchii adresów URL).
Przykład: jeśli adres URL to file:///C:\Folder\Podfolder, ta metoda zwraca true, jeśli CSM ma regułę zakresu przeznaczoną specjalnie dla file:///C:\Folder\.
UwzględnioneWPrymitywiePrzeszukiwania Zwraca wartość TRUE, jeśli określony adres URL jest uwzględniony w przeszukiwanym zakresie.
IncludedInCrawlScopeEx Zwraca wartość z wyliczenia CLUSION_REASON wyjaśniając, dlaczego adres URL jest uwzględniony w zakresie przeszukiwania lub wykluczony z zakresu przeszukiwania, i pobiera wartość TRUE, jeśli adres URL jest uwzględniony w zakresie przeszukiwania. Ta metoda może pomóc w zidentyfikowaniu konfliktów w zestawie reguł roboczych.

 

 

Notatka

Metody IncludedInCrawlScope i IncludedInCrawlScopeEx określają, czy adres URL będzie przeszukiwany wyłącznie na podstawie reguł w CSM. Mogą istnieć inne przyczyny, dla których adres URL nie jest przeszukiwany, na przykład ustawiony bit FANCI (oznacza to, że użytkownik ma niedozwolone szybkie indeksowanie w oknie dialogowym Właściwość folderu).

 

Jeśli uważasz, że ścieżka pliku powinna zostać wykluczona, ale jest ona wymieniona jako dołączona, upewnij się, że reguły wykluczania kończą się ciągiem "ścieżka<>\*". Jeśli uważasz, że plik lub ścieżka pliku powinna być dołączona, ale nie, sprawdź ustawienie bitu FANCI dla pliku lub ścieżki. Możesz to zrobić, klikając prawym przyciskiem myszy plik lub ścieżkę pliku i wybierając Właściwości, a następnie upewnij się, że zaznaczone jest pole wyboru Zezwól na indeksowanie tego folderu przez usługę indeksującą dla szybkiego wyszukiwania. Jeśli plik lub ścieżka pliku nie jest w tym miejscu oznaczona do indeksowania, nie będzie indeksowana nawet wtedy, gdy znajduje się w regule dołączania.

referencyjne

ISearchCrawlScopeManager

ISearchCrawlScopeManager2

ISearchScopeRule

IEnumSearchScopeRules

koncepcyjny

Zarządzanie katalogami głównymi wyszukiwania