Gestire l'indicizzazione della ricerca
Azure DevOps Server 2022 - Azure DevOps Server 2019
È possibile gestire l'estensione di ricerca e lo stato di indicizzazione, che includono le azioni seguenti:
- Controllare lo stato dell'indicizzazione
- Sospendere l'indicizzazione
- Riprendere l'indicizzazione
- Reindicizzare un repository o una raccolta
Prerequisiti
- Installare e configurare La ricerca.
- Essere assegnati al ruolo Project Collection Amministrazione istrator (PCA) per l'organizzazione per gestire la ricerca e l'indicizzazione.
Gestire l'indicizzazione
La ricerca viene gestita eseguendo powerShell e script SQL. Tutti questi script sono disponibili per il download dal repository GitHub Code-Search. È possibile scaricare tutti gli script in una cartella locale nel server. Questo server esegue il database per Azure DevOps Server usando l'opzione Scarica ZIP .
Gli script di PowerShell richiedono i file di script SQL, quindi assicurarsi che la cartella SqlScripts e il relativo contenuto siano presenti, insieme agli script di PowerShell.
Nota
Quando si eseguono script, assicurarsi di eseguire lo script appropriato per la versione:
Controllare lo stato dell'indicizzazione
Per controllare lo stato di indicizzazione dopo la configurazione di Ricerca o dopo l'installazione dell'estensione per una raccolta, seguire questa procedura.
Eseguire lo
ExtensionInstallIndexingStatus.ps1
script con privilegi amministrativi e immettere le informazioni seguenti:- Nome dell'istanza di SQL Server in cui si trova il database di configurazione di Azure DevOps Server.
- Nome del database di raccolta di Azure DevOps Server.
- Nome del database di configurazione di Azure DevOps Server.
- Nome della raccolta.
- Numero di giorni precedenti per controllare lo stato di indicizzazione.
Esaminare gli output seguenti:
- L'indicizzazione della raccolta è stata attivata correttamente: indica che l'indicizzazione è in corso.
- Repository indicizzati completati: elenca i repository i cui indici sono stati completati ed è ricercabile.
- Stato dei repository attualmente indicizzati: elenca i nomi di tutti i repository che sono ancora indicizzati e sono parzialmente ricercabili. Il completamento dell'indicizzazione richiede tempo.
Eseguire lo
RecentIndexingActivity.ps1
script a intervalli per l'indicizzazione dello stato di avanzamento. Questo script accetta gli stessi parametri delloExtensionInstallIndexingStatus.ps1
script:- Repository completati per l'indicizzazione aggiornata: mostra il numero di repository per cui l'indicizzazione è stata completata entro l'intervallo di tempo specificato.
- Numero di repository con indicizzazione aggiornata in corso: mostra il numero di repository per cui l'indicizzazione non è stata completata. Questi repository sono ancora indicizzati e sono parzialmente ricercabili.
- Repository completati indicizzazione continua: mostra il numero di commit elaborati nell'intervallo di tempo specificato. Il numero potrebbe non corrispondere esattamente al numero totale di push nel repository perché viene eseguito il commit delle merge durante l'indicizzazione.
- Numero di repository con indicizzazione continua in corso: mostra il numero di repository per i quali i commit sono ancora in corso di elaborazione. Questi repository mostrano risultati incompleti fino al completamento dell'indicizzazione.
- Conteggio degli errori del processo di indicizzazione: mostra il numero di processi di indicizzazione non riusciti. I repository associati a questi processi di indicizzazione potrebbero potenzialmente mostrare risultati incompleti fino a quando i processi di indicizzazione successivi per gli stessi repository hanno eseguito l'applicazione di patch all'indicizzazione non riuscita.
Eseguire lo
CheckIndexingStatus.ps1
script con privilegi amministrativi e immettere le informazioni seguenti:- Nome dell'istanza di SQL Server in cui si trova il database di configurazione TFS.
- Nome del database di raccolta TFS.
- Nome del database di configurazione TFS.
- Nome della raccolta.
- Numero di giorni precedenti per controllare lo stato di indicizzazione.
Esaminare gli output seguenti:
- L'indicizzazione della raccolta è stata attivata correttamente: indica che l'indicizzazione è in corso.
- Repository indicizzati completati: elenca i repository i cui indici sono stati completati ed è ricercabile.
- Repository nella fase di individuazione file: repository in cui i file devono ancora essere individuati. Questi file vengono indicizzati dopo questa fase.
- Indicizzazione dei repository in corso: repository parzialmente indicizzati e che devono essere ricercabili, anche se i risultati sono solo parziali. Il completamento dell'indicizzazione potrebbe richiedere del tempo.
Monitorare lo stato di avanzamento:
- Eseguire lo
CheckIndexingStatus.ps1
script a intervalli per l'indicizzazione dello stato di avanzamento. - Se l'indicizzazione non funziona o se il numero di file in sospeso non cambia per qualche tempo, eseguire lo
TriggerCollectionIndexing.ps1
script con autorizzazione amministrativa.
- Eseguire lo
Se si verificano problemi, ottenere supporto nella community degli sviluppatori.
Sospendere l'indicizzazione
Per sospendere l'indicizzazione, eseguire: PauseSearchIndexing.ps1
, utile se vengono visualizzati picchi di utilizzo della CPU dopo la configurazione della ricerca. Viene richiesto di immettere le informazioni seguenti.
- Nome dell'istanza di SQL Server in cui si trova il database di configurazione di Azure DevOps Server
- Nome del database di configurazione di Azure DevOps Server
Riprendere l'indicizzazione
Se l'indicizzazione è stata sospesa, eseguire: ResumeIndexing.ps1
per ricominciare. Viene richiesto di immettere le informazioni seguenti.
- Nome dell'istanza di SQL Server in cui si trova il database di configurazione di Azure DevOps Server
- Nome del database di configurazione di Azure DevOps Server
Reindicizzare un repository o una raccolta
Per reindicizzare un repository Git o TFVC, eseguire la versione appropriata dello script, Re-IndexingRepository.ps1
, per la versione di Azure DevOps Server.
Viene richiesto di immettere le informazioni seguenti.
- Nome dell'istanza di SQL Server in cui si trova il database di configurazione di Azure DevOps Server
- Nome del database di raccolta di Azure DevOps Server
- Nome del database di configurazione di Azure DevOps Server
- Tipo di reindicizzazione da eseguire,
Git\_Repository
oTFVC\_Repository
- Nome della raccolta
- Nome del repository da reindicizzare
Per reindicizzare una raccolta, eseguire lo script : TriggerCollectionIndexing.ps1
.
Viene richiesto di immettere le informazioni seguenti.
- Nome dell'istanza di SQL Server in cui si trova il database di configurazione di Azure DevOps Server
- Nome del database di raccolta di Azure DevOps Server
- Nome del database di configurazione di Azure DevOps Server
- Nome della raccolta
- Entità da reindicizzare,
All
,Code
,WorkItem
oWiki
Limitazioni del servizio di ricerca
Se si esegue un'operazione di ripristino di emergenza e si sposta nuovamente il server in uno snapshot precedente del database SQL, reindicizzare tutte le raccolte.