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:

Prerequisiti

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.

Screenshot che mostra i file di script di download per l'amministrazione.

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.

  1. 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.
  2. 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.
  3. Eseguire lo RecentIndexingActivity.ps1 script a intervalli per l'indicizzazione dello stato di avanzamento. Questo script accetta gli stessi parametri dello ExtensionInstallIndexingStatus.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.
  1. 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.
  2. 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.
  3. Monitorare lo stato di avanzamento:

    1. Eseguire lo CheckIndexingStatus.ps1 script a intervalli per l'indicizzazione dello stato di avanzamento.
    2. 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.

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 o TFVC\_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, WorkItemo Wiki

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.