Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Interfejsy ISearchCatalogManager i ISearchCatalogManager2 zapewniają metody zarządzania katalogiem wyszukiwania, takie jak spowodowanie ponownego indeksowania lub ustawienie limitów czasowych. Chociaż usługa Windows Search obecnie używa tylko jednego wykazu, ten interfejs został zaprojektowany tak, aby zapewnić większą kontrolę nad zarządzaniem wieloma wykazami niezależnie. Interfejs zarządza wykazem w następujący sposób:
- Dostęp do innych interfejsów — pobieranie dodatkowych interfejsów związanych z wyszukiwaniem, których wymaga Menedżer zakresu przeszukiwania, powiadomienia o zmianie danych i interfejs ISearchQueryHelper.
- Zawartość wykazu — zapewnienie, że nowe dane są indeksowane i że inne aplikacje i składniki działają prawidłowo, wymuszając ponowne indeksowanie wszystkich lub części wykazu lub przez zresetowanie całego wykazu.
- Właściwości wykazu — ustawienie właściwości, które określają zarządzanie limitami czasu przez katalog podczas nawiązywania połączenia z obsługującymi protokoły oraz sposób traktowania znaków diakrytycznych w wyszukiwaniu.
- Stan wykazu — uzyskiwanie informacji o wykazie, w tym o stanie, rozmiarze i bieżącym stanie działania.
Ten temat jest zorganizowany w następujący sposób:
- uzyskiwanie dostępu do powiązanych interfejsów
- zarządzanie zawartością katalogu
- zarządzanie stanem katalogu
- zarządzanie właściwościami wykazu
- uruchomione w trybie podwyższonego poziomu
- Tematy pokrewne
Uzyskiwanie dostępu do powiązanych interfejsów
Niektóre przydatne interfejsy na platformie Windows Search wymagają instancji Menedżera katalogu, zanim będzie można ich używać. Aby utworzyć Menedżera wykazu dla określonego wykazu, wywołaj metodę ISearchManager::GetCatalog. Metody Menedżera Katalogu mogą następnie służyć do instancjonowania i zwracania interfejsów opartych na określonym katalogu.
| Metoda | Opis |
|---|---|
| UzyskajPomocZZapytania | Pobiera wystąpienie interfejsu ISearchQueryHelper dla bieżącego katalogu, co umożliwia łatwe tworzenie zapytań. |
| GetCrawlScopeManager | Pobiera wystąpienie ISearchCrawlScopeManager dla tego katalogu wyszukiwania, aby umożliwić deweloperom modyfikowanie zakresu przeszukiwania indeksatora wyszukiwania systemu Windows. |
| GetItemsChangedSink | Pobiera wystąpienie interfejsu ISearchItemsChangedSink, którego aplikacje klienckie używają do powiadamiania indeksatora o zmianach, gdy klient chce otrzymać informacje o stanie indeksowania elementu w celu wspierania powiadomień zarządzanych przez dostawcę. Dalsze informacje znajdziesz w sekcji Powiadamianie o indeksie zmian. |
| GetPersistentItemsChangedSink | Pobiera wystąpienie ISearchPersistentItemsChangedSink, którego aplikacje klienckie używają do powiadamiania indeksatora o zmianach, gdy klient nie potrzebuje informacji o stanie indeksowania (powiadomienia zarządzane przez indeksator). Dalsze informacje znajdziesz w sekcji Powiadamianie o indeksie zmian. |
Zarządzanie zawartością wykazu
Istnieją dwa podstawowe zadania związane z zarządzaniem wykazem: ponowne indeksowanie wszystkich lub niektórych adresów URL w zakresie przeszukiwania indeksatora i resetowanie całego katalogu bazowego. W przypadku ponownego indeksowania adresów URL stare dane pozostają w wykazie do czasu lub o ile nie zostaną zastąpione przez nowe dane. Po zresetowaniu wykazu cały wykaz zostanie ponownie skompilowany, a wszystkie adresy URL w zakresie przeszukiwania zostaną ponownie zindeksowane. Ten proces może zająć dużo czasu i powinien być używany tylko jako ostateczność rozwiązywania problemów, takich jak prawdopodobnie uszkodzony indeks.
Podczas instalowania nowej aplikacji, procedury obsługi protokołu lub filtru aplikacja instalatora powinna dodać katalog lub katalog główny do zakresu przeszukiwania, aby upewnić się, że indeksator zawiera lokalizację danych tej aplikacji. Jeśli dane nie są wyświetlane w wykazie po przeszukaniu zakresu przeszukiwania indeksatora, należy najpierw upewnić się, że lokalizacja danych znajduje się w zakresie przeszukiwania. Można go dodać przy użyciu interfejsu użytkownika opcji wyszukiwania systemu Windows lub menedżera zakresu przeszukiwania . Jeśli lokalizacja wydaje się znajdować w zakresie przeszukiwania, możesz ręcznie wymusić ponowne indeksowanie wszystkich adresów URL w zakresie przeszukiwania indeksatora lub podzestawu, używając następujących metod interfejsu ISearchCatalogManager.
| Metoda ponownego indeksowania | Opis |
|---|---|
| ISearchCatalogManager::Reindex | Ponownie indeksuje wszystkie adresy URL w wykazie. Stare informacje pozostaną do czasu ich zastąpienia przez nowe informacje. |
|
ISearchCatalogManager::ReindexMatchingURLs ISearchCatalogManager::ReindexSearchRoot |
Ponownie indeksuje adresy URL zgodne ze wzorcem lub zaczynające się od określonego katalogu głównego (na przykład "file:///C:\Nazwa folderu\Nazwa podfolderu\"). Jest to przydatne w przypadku ponownego przeszukiwania wszystkiego w określonym katalogu lub przy użyciu określonego rozszerzenia, gdy aplikacja jest instalowana. |
| określanie priorytetówMatchingURLs | Nakazuje indeksatorowi, aby nadał priorytet indeksowaniu elementów z adresami URL, które pasują do określonego wzorca, przed zakończeniem innych zadań indeksowania. |
Resetowanie indeksu. Cały indeks można zresetować za pomocą wywołania metody ISearchCatalogManager::Reset. Spowoduje to zresetowanie katalogu bazowego przez ponowne skompilowanie baz danych i wykonanie pełnego indeksu wszystkich adresów URL w zakresie przeszukiwania. Ten proces może zająć dużo czasu i powinien być używany tylko jako ostateczność rozwiązywania problemów, takich jak prawdopodobnie uszkodzony indeks.
Ważny
Ze względu na spowolnienie indeksowania, które mogą powodować te metody, należy ich ostrożnie używać podczas próby zidentyfikowania problemów z indeksowaniem lub wykazem. Najpierw upewnij się, że korzenie wyszukiwania i reguły zakresu zostały dodane do Menedżera zakresu przeszukiwania, a następnie upewnij się, że bit FANCI (atrybut pliku „nie indeksowany zawartości”) jest poprawnie ustawiony dla plików i folderów. Jeśli potwierdzisz, że są one poprawne, spróbuj najpierw ReindexSearchRoot, a na końcu Reindex. Jeśli żadna z tych czynności nie działa, spróbuj zresetować w ostateczności.
Aby uzyskać powiązane informacje, zobacz Powiadamianie o zmianach w indeksiei Wykonywanie zapytań do indeksu za pomocą ISearchQueryHelper.
Zarządzanie stanem katalogu
Menedżer wykazu może służyć do pobierania stanu wykazu dla aplikacji, które chcą dostosować sposób zarządzania wykazem (na przykład niestandardową aplikację monitorowania "Stan wykazu"). Menedżer wykazu nie jest jednak zwykle wymagany w przypadku większości scenariuszy programowania związanych z wyszukiwaniem. Typowe zastosowania to aplikacja monitorowania "Stan wykazu" lub aplikacja w stylu Panelu sterowania.
W poniższej tabeli opisano metody ISearchCatalogManager używane do zarządzania stanem wykazu.
| Metoda | Opis |
|---|---|
| URLBeingIndexed | Pobiera adres URL, który jest obecnie indeksowany. Ta metoda byłaby przydatna, jeśli próbujesz określić, czy indeksator był "zablokowany" w elemencie. |
| LiczbaElementów | Pobiera liczbę elementów w katalogu. |
| LiczbaElementówDoIndeksowania | Pobiera następujące informacje o elementach do indeksowania:
|
| GetCatalogStatus | Pobiera stan wykazu i zwraca wartość wyliczenia, która daje bieżący stan. Poniżej przedstawiono możliwe stany katalogu:
|
| get_Name | Pobiera nazwę bieżącego wykazu określonego w metodzie ISearchManager::GetCatalog. Obecnie jedynym obsługiwanym wykazem jest SystemIndex. |
Zarządzanie właściwościami wykazu
Istnieją trzy właściwości wykazu, którymi można zarządzać za pomocą Menedżera wykazu:
- Wrażliwość diakrytyczna. Znaki diakrytyczne są znakami wyróżniającymi dodanymi do liter, aby oznaczać znaczenie lub wymowę słowa. Ta właściwość określa, czy katalog jest wrażliwy na znaki diakrytyczne i jest ważny podczas wyszukiwania i indeksowania tekstu przez użytkowników w wielu językach. Na przykład jeśli ta właściwość ma wartość FALSE, katalog będzie traktować ciąg "resume" i "résumé", tak jakby był tym samym słowem.
- Przekroczenia limitu czasu połączenia. Ta właściwość reprezentuje czas oczekiwania na odpowiedź połączenia z serwera lub magazynu danych, jak pokazano w strukturze TIMEOUT_INFO. Za pomocą tej właściwości można dostosować usługę Windows Search.
- Timeouty danych Ta właściwość reprezentuje czas oczekiwania na transakcję danych między indeksatorem a programem obsługi protokołu lub filtrem, w strukturze reprezentowanej przez TIMEOUT_INFO. Jeśli ten czas upłynie, proces z demona filtra zostanie zakończony, aby zapobiec zakleszczeniu i innym problemom z zasobami.
Dwie ostatnie właściwości są przeznaczone głównie do użytku w przyszłości. Każda z tych właściwości ma metody get i put.
| Metoda | Opis |
|---|---|
|
get_DiacriticSensitivity / zmień_wrażliwośćNaZnakiDiakrytyczne |
PRAWDA, jeśli katalog powinien rozróżniać wyrazy z znakami diakrytycznymi. FALSE, jeśli katalog powinien ignorować znaki diakrytyczne. Zmiana tej właściwości wymaga ponownego skompilowania indeksu, ponieważ klucze indeksu mogą stać się nieprawidłowe. |
|
get_ConnectTimeout / put_ConnectTimeout |
Czas oczekiwania indeksatora na odpowiedź połączenia z serwera lub magazynu danych w sekundach. Ustawienie tego zbyt wysokiego poziomu może spowodować opóźnienia, jeśli wiele witryn nie odpowiada. Ustawienie zbyt małej wartości może spowodować, że niektóre witryny nie są przeszukiwane. |
|
get_DataTimeout / put_DataTimeout |
Czas w sekundach, przez który indeksator powinien czekać na transakcję danych. |
Uruchamianie w trybie podwyższonego poziomu uprawnień
Wszystkie wywołania metod, które aktualizują indeks SystemIndex, wymagają uruchomienia aplikacji z podwyższonym poziomem uprawnień. W przeciwnym razie aplikacja zakończy się niepowodzeniem z powodu błędu Odmowy dostępu.
Tematy pokrewne
Zarządzanie indeksu
interfejsy do zarządzania indeksu
Używanie Menedżera wyszukiwania