Condividi tramite


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

Categoria Requisiti
autorizzazioni Membro del gruppo Amministratori della Raccolta Progetti .
Attività Completare Installare e configurare la Ricerca.

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 Download ZIP.

Gli script di PowerShell richiedono i file di script SQL, quindi assicurarsi che le sqlScripts cartella e il relativo contenuto siano presenti, insieme agli script di PowerShell.

Screenshot che mostra i file 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. Esegui lo script di ExtensionInstallIndexingStatus.ps1 con privilegi amministrativi e inserisci 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 avviata correttamente: Indica che l'indicizzazione è in corso.
    • Repository con indicizzazione completata: Elenca i repository i cui indici sono stati completati e sono ricercabili.
    • Stato dei repository attualmente in fase di indicizzazione: Elenca i nomi di tutti i repository che sono ancora indicizzati e sono parzialmente ricercabili. Il completamento dell'indicizzazione richiede tempo.
  3. Eseguire lo script RecentIndexingActivity.ps1 a intervalli per l'indicizzazione dello stato di avanzamento. Questo script accetta gli stessi parametri dello script ExtensionInstallIndexingStatus.ps1:

    • Repository completato 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.
    • Il repository ha completato l'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.
    • Conteggio dei repository con indicizzazione continua in corso: Mostra il numero di repository per cui i commit sono ancora in corso di elaborazione. Questi repository mostrano risultati incompleti fino al completamento dell'indicizzazione.
    • Numero di 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. Esegui lo script CheckIndexingStatus.ps1 con privilegi amministrativi e inserisci le seguenti informazioni:

    • Il nome dell'istanza di SQL Server in cui si trova il database di configurazione TFS .
    • Nome del database di raccolta TFS.
    • Il nome del database di configurazione TFS .
    • Il nome della collezione .
    • Numero di giorni precedenti per controllare lo stato di indicizzazione.
  2. Esaminare gli output seguenti:

    • L'indicizzazione della raccolta è stata avviata correttamente: Indica che l'indicizzazione è in corso.
    • Repositories indicizzati completati: Elenca i repositories i cui indici sono stati completati e sono ricercabili.
    • repository nella fase di individuazione file: repository dove i file non sono ancora stati individuati. Questi file vengono indicizzati dopo questa fase.
    • Repository indicizzazione in corso: Repository parzialmente indicizzati e che dovrebbero 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 script CheckIndexingStatus.ps1 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 script TriggerCollectionIndexing.ps1 con autorizzazione amministrativa.

In caso di 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 un insieme , 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 della ricerca

Se esegui un'operazione di ripristino di emergenza e riporti il server a uno snapshot precedente del database SQL, reindicizzare tutte le raccolte.