Verwalten der Suchindizierung

Azure DevOps Server 2022 – Azure DevOps Server 2019

Sie können Ihren Sucherweiterungs- und Indizierungsstatus verwalten, einschließlich der folgenden Aktionen:

Voraussetzungen

Verwalten der Indizierung

Die Suche wird durch Ausführen von PowerShell- und SQL-Skripts verwaltet. Alle diese Skripts können aus dem GitHub-Repository Code-Search heruntergeladen werden. Sie können alle Skripts in einen lokalen Ordner auf dem Server herunterladen. Auf diesem Server wird die Datenbank für Azure DevOps Server mithilfe der Option ZIP herunterladen ausgeführt.

Die PowerShell-Skripts erfordern die SQL-Skriptdateien. Stellen Sie daher sicher, dass der Ordner SqlScripts und der zugehörige Inhalt zusammen mit den PowerShell-Skripts vorhanden sind.

Screenshot des Herunterladens von Skriptdateien für die Verwaltung.

Hinweis

Stellen Sie beim Ausführen von Skripts sicher, dass Sie das entsprechende Skript für Ihre Version ausführen:

Überprüfen des Indizierungsstatus

Führen Sie die folgenden Schritte aus, um den Indizierungsstatus nach der Konfiguration der Suche oder nach der Installation der Erweiterung für eine Auflistung zu überprüfen.

  1. Führen Sie das ExtensionInstallIndexingStatus.ps1 Skript mit Administratorrechten aus , und geben Sie die folgenden Informationen ein:

    • Der Name der SQL Server-Instanz, in der sich die Azure DevOps Server-Konfigurationsdatenbank befindet.
    • Der Name der Azure DevOps Server-Sammlungsdatenbank.
    • Der Name der Azure DevOps Server Konfigurationsdatenbank.
    • Der Name der Auflistung.
    • Die Anzahl der vorherigen Tage zum Überprüfen des Indizierungsstatus.
  2. Überprüfen Sie die folgenden Ausgaben:

    • Sammlungsindizierung wurde erfolgreich ausgelöst: Gibt an, dass die Indizierung ausgeführt wird.
    • Repositorys indizierung abgeschlossen: Listet Repositorys auf, deren Indizierung abgeschlossen wurde und durchsuchbar ist.
    • Status der zurzeit indizierenden Repositorys: Listet die Namen aller Repositorys auf, die noch indiziert werden und teilweise durchsuchbar sind. Es dauert einige Zeit, bis die Indizierung abgeschlossen ist.
  3. Führen Sie das RecentIndexingActivity.ps1 Skript in Intervallen für den Indizierungsfortschritt aus. Dieses Skript verwendet dieselben Parameter wie das ExtensionInstallIndexingStatus.ps1 Skript:

    • Repositorys wurden neu indiziert: Zeigt die Anzahl der Repositorys an, für die die Indizierung innerhalb des angegebenen Zeitintervalls abgeschlossen wurde.
    • Anzahl der Repositorys mit neuer Indizierung: Zeigt die Anzahl der Repositorys an, für die die Indizierung nicht abgeschlossen ist. Diese Repositorys werden noch indiziert und sind teilweise durchsuchbar.
    • Repositorys haben eine fortlaufende Indizierung abgeschlossen: Zeigt die Anzahl der im angegebenen Zeitintervall verarbeiteten Commits an. Die Zahl stimmt möglicherweise nicht genau mit der Gesamtanzahl der Pushes an das Repository überein, da Zusammenführungen beim Indizieren zugesichert werden.
    • Anzahl der Repositorys mit fortlaufender Indizierung: Zeigt die Anzahl der Repositorys an, für die die Commits noch verarbeitet werden. Diese Repositorys zeigen unvollständige Ergebnisse an, bis die Indizierung abgeschlossen ist.
    • Anzahl der Indizierungsauftragsfehler: Zeigt die Anzahl der fehlgeschlagenen Indizierungsaufträge an. Repositorys, die diesen Indizierungsaufträgen zugeordnet sind, könnten möglicherweise unvollständige Ergebnisse anzeigen, bis spätere Indizierungsaufträge für dieselben Repositorys die fehlgeschlagene Indizierung gepatcht haben.
  1. Führen Sie das CheckIndexingStatus.ps1 Skript mit Administratorrechten aus , und geben Sie die folgenden Informationen ein:

    • Der NAME der SQL Server-Instanz, in der sich die TFS-Konfigurationsdatenbank befindet.
    • Der Name der TFS-Sammlungsdatenbank.
    • Der Name der TFS-Konfigurationsdatenbank.
    • Der Name der Auflistung.
    • Die Anzahl der vorherigen Tage zum Überprüfen des Indizierungsstatus.
  2. Überprüfen Sie die folgenden Ausgaben:

    • Sammlungsindizierung wurde erfolgreich ausgelöst: Gibt an, dass die Indizierung ausgeführt wird.
    • Repositorys indizierung abgeschlossen: Listet Repositorys auf, deren Indizierung abgeschlossen wurde und durchsuchbar ist.
    • Repositorys in der Dateiermittlungsphase: Repositorys, in denen Dateien noch ermittelt werden müssen. Diese Dateien werden nach dieser Phase indiziert.
    • Repositorys indizieren in Bearbeitung: Repositorys, die teilweise indiziert sind und durchsuchbar sein sollten, auch wenn die Ergebnisse nur teilweise sind. Es kann einige Zeit dauern, bis die Indizierung abgeschlossen ist.
  3. Überwachen des Fortschritts:

    1. Führen Sie das CheckIndexingStatus.ps1 Skript in Intervallen für den Indizierungsfortschritt aus.
    2. Wenn die Indizierung nicht funktioniert oder sich die Anzahl der ausstehenden Dateien seit einiger Zeit nicht ändert, führen Sie das TriggerCollectionIndexing.ps1 Skript mit Administratorberechtigung aus.

Wenn Probleme auftreten, erhalten Sie Support für die Entwicklercommunity.

Indizierung anhalten

Um alle Indizierungen anzuhalten, führen Sie Folgendes aus: PauseSearchIndexing.ps1, was nützlich ist, wenn nach der Konfiguration der Suche Spitzen bei der CPU-Auslastung angezeigt werden. Sie werden aufgefordert, die folgenden Informationen einzugeben.

  • Der Name der SQL Server-Instanz, bei dem die Azure DevOps Server-Konfigurationsdatenbank ist.
  • Der Name der Azure DevOps Server-Konfigurationsdatenbank

Fortsetzen der Indizierung

Wenn Sie die Indizierung angehalten haben, führen Sie Folgendes aus, ResumeIndexing.ps1 um erneut zu starten. Sie werden aufgefordert, die folgenden Informationen einzugeben.

  • Der Name der SQL Server-Instanz, bei dem die Azure DevOps Server-Konfigurationsdatenbank ist.
  • Der Name der Azure DevOps Server-Konfigurationsdatenbank

Erneutes Indizieren eines Repositorys oder einer Sammlung

Führen Sie zum Erneuten Indizieren eines Git- oder TFVC-Repositorys die entsprechende Version des Skripts Re-IndexingRepository.ps1für Ihre Azure DevOps Server-Version aus. Sie werden aufgefordert, die folgenden Informationen einzugeben.

  • Der Name der SQL Server-Instanz, bei dem die Azure DevOps Server-Konfigurationsdatenbank ist.
  • Der Name der Azure DevOps Server-Sammlungsdatenbank
  • Der Name der Azure DevOps Server-Konfigurationsdatenbank
  • Der Typ der erneuten Indizierung, die ausgeführt werden soll, entweder Git\_Repository oder TFVC\_Repository
  • Der Name der Auflistung
  • Der Name des Repositorys, das neu indiziert werden soll.

Führen Sie das Skript aus, um eine Auflistung neu zu indizieren: TriggerCollectionIndexing.ps1. Sie werden aufgefordert, die folgenden Informationen einzugeben.

  • Der Name der SQL Server-Instanz, bei dem die Azure DevOps Server-Konfigurationsdatenbank ist.
  • Der Name der Azure DevOps Server-Sammlungsdatenbank
  • Der Name der Azure DevOps Server-Konfigurationsdatenbank
  • Der Name der Auflistung
  • Die Entitäten, die neu indiziert werden sollen, entweder All, Code, , WorkItemoder Wiki

Sucheinschränkungen

Wenn Sie einen Notfallwiederherstellungsvorgang durchführen und Ihren Server zurück zu einer früheren Momentaufnahme Ihrer SQL-Datenbank verschieben, indizieren Sie alle Ihre Sammlungen erneut.