Zarządzanie korzeniami wyszukiwania

Menedżer zakresu przeszukiwania (CSM) umożliwia dodawanie i usuwanie katalogów głównych wyszukiwania dla magazynów danych do i z zakresu przeszukiwania usługi Windows Search.

Ten temat zawiera następujące tematy:

 

Informacje o korzeniach wyszukiwania

Katalog główny wyszukiwania definiuje bazę przestrzeni nazw powłoki, w której można uwzględnić lub wykluczyć określone zakresy, i jest zwykle kontenerem najwyższego poziomu w protokole, który można wyliczyć. Nie określa, które części tego magazynu powinny być indeksowane lub nie powinny być indeksowane; jedynie sygnalizuje, że magazyn zawartości istnieje i jest skojarzony z procedurą obsługi zarejestrowanych protokołów. Składnia identyfikowania głównego adresu URL wyszukiwania obejmuje protokół, identyfikator zabezpieczeń magazynu lub użytkownika, ścieżkę i opcjonalnie określony element (na przykład plik). W poniższych przykładach przedstawiono dwie formy składni dla korzenia wyszukiwania.

<protocol>://<store or SID>\<path>\[item]
or
<protocol>://<store or SID>/<path>/[item]

Segment <protokołu> powinien być poprzedzony dwoma (2) ukośnikami ('/'), chyba że jest to protokół file:, który wymaga trzech ukośników (file:///). Segment <witryny lub SID> reprezentuje magazyn zawartości lub identyfikator zabezpieczeń użytkownika, jeśli katalog główny wyszukiwania ma być specyficzny dla użytkownika. <Segment ścieżki> jest zestawem kontenerów, takich jak katalogi lub foldery, i może zawierać symbol wieloznaczny "*". Segment <elementu> jest opcjonalny i może również zawierać symbol wieloznaczny "*". Jeśli nie dołączysz elementu, pamiętaj, aby zakończyć segment ścieżki ukośnikiem lub indeksator zakłada, że ostatni podkontainer jest elementem.

Załóżmy na przykład, że zaimplementowano procedurę obsługi protokołu (myPH) do obsługi plików typu *.myext dla aplikacji niestandardowej. Wszystkie te pliki znajdują się w folderze WorkteamA\ProjectFiles na komputerze lokalnym. Główna ścieżka wyszukiwania może wyglądać następująco:

  • myPH:///C:\WorkteamA\ProjectFiles\

Załóżmy, że planujesz uwzględnić wszystkie pliki z rozszerzeniem .myext, ale nic innego z tego kontenera w indeksie. Główny katalog wyszukiwania, który może wyglądać następująco:

  • myPH:///C:\WorkteamA\ProjectFiles\*.myext.

Wzorce symboli wieloznacznych definiują adresy URL przy użyciu symbolu wieloznakowego "*" i są traktowane jako wzorzec, a nie adres URL, ale terminologia jest często używana zamiennie. Na przykład file:///C:\ProjectA\*\data\ będzie pasował do następujących adresów URL:

  • C:\ProjectA\version1\data\
  • C:\ProjectA\version2\data\

Jednak ten wzorzec nie pasuje do tego adresu URL:

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

Należy utworzyć nowe korzenie wyszukiwania dla kontenerów, które nie znajdują się jeszcze w zakresie indeksowania indeksatora. W przypadku gdy ścieżka C:\ParentScope jest już uwzględniona w zakresie indeksowania, nie musisz dodawać nowego głównego miejsca wyszukiwania dla C:\ParentScope\ChildScope, o ile wiesz, że zakres podrzędny był wcześniej wykluczony.

Interfejs użytkownika służący do ustawiania opcji usługi Windows Search wyświetla katalogi głównych wyszukiwania dla użytkowników, aby mogli uściślić reguły zakresu wyszukiwania. W ramach procesu instalacji niestandardowego programu obsługi protokołu, kontenera i/lub aplikacji można zdefiniować domyślny zakres przeszukiwania z regułami dołączania i wykluczania. Te reguły są prezentowane użytkownikom końcowym jako lokalizacje. Użytkownicy mogą nawigować w podkatalogach wstępnie zdefiniowanego katalogu głównego wyszukiwania i wybierać te, które mają zostać uwzględnione w wyszukiwaniach lub czyścić te, które mają zostać wykluczone.

 

Zanim rozpoczniesz

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

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

Po wprowadzeniu jakichkolwiek zmian w Menedżerze zakresu przeszukiwania (CSM) należy wywołać metodę ISearchCrawlScopeManager::SaveAll. Ta metoda nie przyjmuje parametrów i zwraca S_OK, jeśli zakończy się sukcesem.

 

Windows 7: nowy interfejs API menedżera zakresu przeszukiwania

W systemie Windows 7 lub nowszyminterfejs ISearchCrawlScopeManager2 rozszerza funkcjonalność interfejsu ISearchCrawlScopeManager . Metoda ISearchCrawlScopeManager2::GetVersion pobiera wersję Menedżera zakresu przeszukiwania (CSM), która informuje klientów o zmianie stanu CSM. ISearchCrawlScopeManager2::GetVersion nie powoduje wywołania między procesami. Jeśli funkcja powiedzie się, zwracany wskaźnik pozostaje prawidłowy, dopóki klient nie wywoła funkcji UnmapViewOfFile na wskaźniku i CloseHandle na zwróconym dojściu.

 

Dodawanie elementów głównych do zakresu indeksowania

ISearchCrawlScopeManager informuje aparat wyszukiwania o kontenerach do przeszukiwania i/lub obserwowania oraz o elementach w tych kontenerach, które mają być uwzględnione lub wykluczone. Aby dodać nowy korzeń wyszukiwania, utwórz wystąpienie obiektu ISearchRoot, ustaw atrybuty korzenia, a następnie wywołaj metodę ISearchCrawlScopeManager::AddRoot i przekaż wskaźnik do obiektu ISearchRoot. Główny adres URL wyszukiwania ma taki sam format jak opisany wcześniej główny adres wyszukiwania.

W poniższej tabeli opisano odpowiednie metody ustawiania dla interfejsu ISearchRoot; inne metody ustawiania interfejsu obecnie nie są wykorzystywane przez wyszukiwarkę Windows. Zalecamy uwzględnienie identyfikatorów zabezpieczeń (SID) użytkowników we wszystkich elementach głównych w celu zapewnienia lepszego bezpieczeństwa. Katalogi główne dla pojedynczych użytkowników są bezpieczniejsze, ponieważ zapytania są uruchamiane w procesie użytkownika, zapewniając, że jeden użytkownik nie może zobaczyć elementów zindeksowanych ze skrzynki odbiorczej innego użytkownika, na przykład.

Metoda Description
zapewniaPowiadomienia Ustaw na TRUE , jeśli program obsługi protokołu lub inna aplikacja powiadomi wyszukiwarkę o zmianach adresów URL w głównym miejscu wyszukiwania. Powiadomienie wskazuje, że adresy URL wymagają ponownego indeksowania.
put_RootURL Ustawia główny adres URL bieżącego wyszukiwania. Adres URL przyjmuje opisany wcześniej formularz główny wyszukiwania.

 

 

Domyślnie indeksator nie przeszukuje zakresu podczas dodawania korzenia wyszukiwania. Należy również dodać regułę włączania dla katalogu głównego. Jeśli chcesz dodać katalog główny specyficzny dla użytkownika dla aplikacji, ta aplikacja powinna dodać odpowiednie katalogi główne dla nowych użytkowników po uruchomieniu aplikacji.

Aby dodać odpowiednie uprawnienia dla nowych użytkowników:

  1. Pobierz identyfikator SID użytkownika.
  2. Wylicz wszystkie korzenie, aby sprawdzić, czy istnieje dla tego identyfikatora SID.
  3. W razie potrzeby dodaj nowy root przy użyciu SID.

 

Usuwanie katalogów głównych z zakresu przeszukiwania

Możesz użyć narzędzia ISearchCrawlScopeManager , aby usunąć katalog główny z zakresu przeszukiwania, gdy nie chcesz już indeksować tego adresu URL. Usunięcie korzenia powoduje również usunięcie wszystkich reguł zakresu URL. Załóżmy na przykład, że chcesz odinstalować magazyn zawartości i/lub program obsługi protokołu z systemu. Możesz odinstalować aplikację, usunąć wszystkie dane, a następnie usunąć korzeń wyszukiwania z zakresu indeksowania, a Menedżer zakresu indeksowania usunie ten korzeń i wszystkie reguły skojarzone z nim.

Aby usunąć istniejący katalog główny wyszukiwania, wywołaj metodę ISearchCrawlScopeManager::RemoveRoot przy użyciu katalogu głównego wyszukiwania, który chcesz usunąć. Adres URL katalogu głównego wyszukiwania ma taką samą formę, jak opisano wcześniej. Ta metoda zwraca S_FALSE, jeśli katalog główny nie zostanie znaleziony i kod błędu, jeśli wystąpił błąd podczas usuwania katalogu głównego, który został znaleziony.

Usunięcie katalogu głównego wyszukiwania spowoduje również usunięcie adresu URL z interfejsu użytkownika dla opcji wyszukiwania systemu Windows, dzięki czemu użytkownicy mogą nie być w stanie ponownie dodać tego kontenera lub lokalizacji przy użyciu interfejsu użytkownika. Istnieje również możliwość usunięcia wszystkich przesłonięć ustawionych przez użytkownika dla katalogu głównego wyszukiwania i przywrócenia oryginalnych reguł katalogu głównego wyszukiwania oraz zakresu. Aby uzyskać więcej informacji, zobacz Zarządzanie regułami zakresu.

Uwaga / 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 katalogi root z ich identyfikatorem SID i usuwa indeksowane elementy z wykazu. W systemie Windows XP należy ręcznie usunąć katalogi root i reguły użytkowników.

 

 

Wyliczanie bazowych elementów w zakresie przeszukiwania

CSM wylicza katalogi wyszukiwania przy użyciu standardowego interfejsu wyliczającego w stylu COM, IEnumSearchRoots. Tego interfejsu można użyć do wyliczenia korzeni wyszukiwania w wielu celach. Możesz na przykład wyświetlić cały zakres przeszukiwania w interfejsie użytkownika lub sprawdzić, czy określony korzeń lub dziecko korzenia znajduje się już w zakresie przeszukiwania.

 

Referencja

ISearchCrawlScopeManager

ISearchRoot

IEnumSearchRoots

Koncepcje

korzystanie z menedżera zakresu przeszukiwania

Zarządzanie regułami zakresu