Verwalten der Suchindizierung
Azure DevOps Server 2022 – Azure DevOps Server 2019
Sie können Ihren Sucherweiterungs- und Indizierungsstatus verwalten, einschließlich der folgenden Aktionen:
- Indizierungsstatus überprüfen
- Indizierung anhalten
- Indizierung fortsetzen
- Erneutes Indizieren eines Repositorys oder einer Sammlung
Voraussetzungen
- Installieren und konfigurieren Sie die Suche.
- Der Rolle "Project Collection Administrator" (PCA) für die Organisation zugewiesen werden, um die Suche und Indizierung zu verwalten.
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.
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.
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.
Ü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.
Führen Sie das
RecentIndexingActivity.ps1
Skript in Intervallen für den Indizierungsfortschritt aus. Dieses Skript verwendet dieselben Parameter wie dasExtensionInstallIndexingStatus.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.
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.
Ü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.
Überwachen des Fortschritts:
- Führen Sie das
CheckIndexingStatus.ps1
Skript in Intervallen für den Indizierungsfortschritt aus. - 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.
- Führen Sie das
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.ps1
fü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
oderTFVC\_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
, ,WorkItem
oderWiki
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.