Udostępnij za pośrednictwem


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:

Wymagania wstępne

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.

Zrzut ekranu przedstawiający pobieranie plików skryptów do administrowania.

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.

  1. 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.
  2. 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.
  3. RecentIndexingActivity.ps1 Wykonaj skrypt w odstępach czasu na potrzeby postępu indeksowania. Ten skrypt przyjmuje te same parametry co ExtensionInstallIndexingStatus.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.
  1. 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.
  2. 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.
  3. Monitorowanie postępu:

    1. CheckIndexingStatus.ps1 Wykonaj skrypt w odstępach czasu na potrzeby postępu indeksowania.
    2. 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.ps1dla 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\_RepositoryTFVC\_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, Allalbo , Code, WorkItemlub Wiki

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.