Zarządzanie indeksowaniem wyszukiwania
Azure DevOps Server 2022 — Azure DevOps Server 2019
Możesz zarządzać rozszerzeniem wyszukiwania i stanem indeksowania, które obejmują następujące akcje:
- Sprawdzanie stanu indeksowania
- Wstrzymywanie indeksowania
- Wznawianie indeksowania
- Ponowne indeksowanie repozytorium lub kolekcji
Wymagania wstępne
- Instalowanie i konfigurowanie wyszukiwania.
- Aby zarządzać wyszukiwaniem i indeksowaniem, należy przypisać rolę Administracja istratora (PCA) kolekcji projektów.
Zarządzanie indeksowaniem
Wyszukiwanie jest zarządzane przez uruchamianie skryptów programu PowerShell i SQL. Wszystkie te skrypty są dostępne do pobrania z repozytorium GitHub Code-Search. Wszystkie skrypty można pobrać do folderu lokalnego na serwerze. Ten serwer uruchamia bazę danych dla usługi Azure DevOps Server przy użyciu opcji Pobierz plik ZIP .
Skrypty programu PowerShell wymagają plików skryptów SQL, dlatego upewnij się, że folder SqlScripts i jego zawartość są obecne wraz ze skryptami programu PowerShell.
Uwaga
Podczas wykonywania skryptów upewnij się, że uruchamiasz odpowiedni skrypt dla używanej wersji:
Sprawdzanie stanu indeksowania
Aby sprawdzić stan indeksowania po skonfigurowaniu wyszukiwania lub po zainstalowaniu rozszerzenia dla kolekcji, wykonaj następujące kroki.
ExtensionInstallIndexingStatus.ps1
Wykonaj skrypt z uprawnieniami administracyjnymi i wprowadź następujące informacje:- Nazwa wystąpienia serwera SQL, w którym znajduje się baza danych konfiguracji usługi Azure DevOps Server.
- Nazwa bazy danych kolekcji usługi Azure DevOps Server.
- Nazwa bazy danych konfiguracji usługi Azure DevOps Server.
- Nazwa kolekcji.
- Liczba poprzednich dni sprawdzania stanu indeksowania.
Przejrzyj następujące dane wyjściowe:
- Indeksowanie kolekcji zostało pomyślnie wyzwolone: wskazuje, że indeksowanie jest w toku.
- Indeksowanie repozytoriów zostało ukończone: wyświetla repozytoria, których indeksowanie zostało ukończone i można je przeszukiwać.
- Stan aktualnie indeksowanych repozytoriów: wyświetla nazwy wszystkich repozytoriów, które są nadal indeksowane i są częściowo przeszukiwalne. Ukończenie indeksowania zajmuje trochę czasu.
RecentIndexingActivity.ps1
Wykonaj skrypt w odstępach czasu na potrzeby postępu indeksowania. Ten skrypt przyjmuje te same parametry coExtensionInstallIndexingStatus.ps1
skrypt:- Repozytoria zakończyły indeksowanie świeże: pokazuje liczbę repozytoriów, dla których indeksowanie zostało ukończone w określonym przedziale czasu.
- Liczba repozytoriów ze świeżym indeksowaniem w toku: pokazuje liczbę repozytoriów, dla których indeksowanie nie zostało ukończone. Te repozytoria są nadal indeksowane i można je częściowo przeszukiwać.
- Repozytoria zakończyły indeksowanie ciągłe: pokazuje liczbę zatwierdzeń przetworzonych w określonym przedziale czasu. Liczba może nie być dokładnie zgodna z całkowitą liczbą wypchnięć do repozytorium, ponieważ scalania są zatwierdzane podczas indeksowania.
- Liczba repozytoriów z ciągłym indeksowaniem w toku: pokazuje liczbę repozytoriów, dla których zatwierdzenia są nadal przetwarzane. Te repozytoria pokazują niekompletne wyniki do momentu ukończenia indeksowania.
- Liczba niepowodzeń zadań indeksowania: przedstawia liczbę zadań indeksowania, które zakończyły się niepowodzeniem. Repozytoria skojarzone z tymi zadaniami indeksowania mogą potencjalnie pokazywać niekompletne wyniki do późniejszego indeksowania zadań dla tych samych repozytoriów, w których indeksowanie zakończyło się niepowodzeniem.
CheckIndexingStatus.ps1
Wykonaj skrypt z uprawnieniami administracyjnymi i wprowadź następujące informacje:- Nazwa wystąpienia serwera SQL, w którym znajduje się baza danych konfiguracji serwera TFS.
- Nazwa bazy danych kolekcji TFS.
- Nazwa bazy danych konfiguracji TFS.
- Nazwa kolekcji.
- Liczba poprzednich dni sprawdzania stanu indeksowania.
Przejrzyj następujące dane wyjściowe:
- Indeksowanie kolekcji zostało pomyślnie wyzwolone: wskazuje, że indeksowanie jest w toku.
- Indeksowanie repozytoriów zostało ukończone: wyświetla repozytoria, których indeksowanie zostało ukończone i można je przeszukiwać.
- Repozytoria w fazie odnajdywania plików: repozytoria, w których pliki nie zostały jeszcze odnalezione. Te pliki są indeksowane po tym etapie.
- Indeksowanie repozytoriów w toku: repozytoria, które są częściowo indeksowane i powinny być przeszukiwalne, nawet jeśli wyniki są tylko częściowe. Ukończenie indeksowania może zająć trochę czasu.
Monitorowanie postępu:
CheckIndexingStatus.ps1
Wykonaj skrypt w odstępach czasu na potrzeby postępu indeksowania.- Jeśli indeksowanie nie działa lub liczba oczekujących plików nie zmienia się przez jakiś czas, wykonaj
TriggerCollectionIndexing.ps1
skrypt z uprawnieniami administracyjnymi.
Jeśli wystąpią jakiekolwiek problemy, uzyskaj pomoc techniczną w społeczności deweloperów.
Wstrzymywanie indeksowania
Aby wstrzymać wszystkie indeksowanie, wykonaj polecenie: PauseSearchIndexing.ps1
, co jest przydatne, jeśli po skonfigurowaniu funkcji Wyszukiwania wystąpi wzrost użycia procesora CPU. Zostanie wyświetlony monit o wprowadzenie następujących informacji.
- Nazwa wystąpienia serwera SQL, w którym znajduje się baza danych konfiguracji usługi Azure DevOps Server
- Nazwa bazy danych konfiguracji usługi Azure DevOps Server
Wznawianie indeksowania
Jeśli wstrzymano indeksowanie, wykonaj polecenie: ResumeIndexing.ps1
aby uruchomić ponownie. Zostanie wyświetlony monit o wprowadzenie następujących informacji.
- Nazwa wystąpienia serwera SQL, w którym znajduje się baza danych konfiguracji usługi Azure DevOps Server
- Nazwa bazy danych konfiguracji usługi Azure DevOps Server
Ponowne indeksowanie repozytorium lub kolekcji
Aby ponownie zaindeksować repozytorium Git lub TFVC, wykonaj odpowiednią wersję skryptu , Re-IndexingRepository.ps1
dla wersji usługi Azure DevOps Server.
Zostanie wyświetlony monit o wprowadzenie następujących informacji.
- Nazwa wystąpienia serwera SQL, w którym znajduje się baza danych konfiguracji usługi Azure DevOps Server
- Nazwa bazy danych kolekcji usługi Azure DevOps Server
- Nazwa bazy danych konfiguracji usługi Azure DevOps Server
- Typ ponownego indeksowania do wykonania lub
Git\_Repository
TFVC\_Repository
- Nazwa kolekcji
- Nazwa repozytorium do ponownego indeksowania
Aby ponownie indeksować kolekcję, wykonaj skrypt: TriggerCollectionIndexing.ps1
.
Zostanie wyświetlony monit o wprowadzenie następujących informacji.
- Nazwa wystąpienia serwera SQL, w którym znajduje się baza danych konfiguracji usługi Azure DevOps Server
- Nazwa bazy danych kolekcji usługi Azure DevOps Server
- Nazwa bazy danych konfiguracji usługi Azure DevOps Server
- Nazwa kolekcji
- Jednostki do ponownego indeksowania,
All
albo ,Code
,WorkItem
lubWiki
Ograniczenia wyszukiwania
Jeśli wykonasz operację odzyskiwania po awarii i przenieś serwer z powrotem do wcześniejszej migawki bazy danych SQL, ponownie zaindeksuj wszystkie kolekcje.