Gérer l’indexation de recherche

Azure DevOps Server 2022 – Azure DevOps Server 2019

Vous pouvez gérer votre extension de recherche et l’état d’indexation, notamment les actions suivantes :

Prérequis

Gérer l’indexation

La recherche est gérée en exécutant des scripts PowerShell et SQL. Tous ces scripts peuvent être téléchargés à partir du dépôt GitHub Code-Search. Vous pouvez télécharger tous les scripts dans un dossier local sur le serveur. Ce serveur exécute la base de données pour Azure DevOps Server à l’aide de l’option Télécharger zip.

Les scripts PowerShell nécessitent les fichiers de script SQL. Assurez-vous donc que le dossier SqlScripts et son contenu sont présents, ainsi que les scripts PowerShell.

Capture d’écran montrant le téléchargement des fichiers de script pour l’administration.

Remarque

Lorsque vous exécutez des scripts, vérifiez que vous exécutez le script approprié pour votre version :

Vérifier l’état de l’indexation

Pour case activée l’état d’indexation une fois la recherche configurée ou une fois l’extension installée pour un regroupement, procédez comme suit.

  1. Exécutez le ExtensionInstallIndexingStatus.ps1 script avec des privilèges d’administration et entrez les informations suivantes :

    • Nom de l’instance sql server où se trouve la base de données de configuration Azure DevOps Server.
    • Nom de la base de données de collection Azure DevOps Server.
    • Nom de la base de données de configuration Azure DevOps Server.
    • Nom de la collection.
    • Nombre de jours précédents pour vérifier l’état de l’indexation.
  2. Passez en revue les sorties suivantes :

    • L’indexation de collection a été déclenchée avec succès : indique que l’indexation est en cours.
    • Indexation des référentiels terminé : répertorie les référentiels dont l’indexation est terminée et peut faire l’objet d’une recherche.
    • État de l’indexation des référentiels : répertorie les noms de tous les référentiels qui sont toujours indexés et qui sont partiellement pouvant faire l’objet d’une recherche. L’indexation prend du temps.
  3. Exécutez le RecentIndexingActivity.ps1 script à intervalles pour la progression de l’indexation. Ce script prend les mêmes paramètres que le ExtensionInstallIndexingStatus.ps1 script :

    • Référentiels terminés l’indexation fraîche : indique le nombre de référentiels pour lesquels l’indexation s’est terminée dans l’intervalle de temps spécifié.
    • Nombre de référentiels avec une nouvelle indexation en cours : indique le nombre de référentiels pour lesquels l’indexation n’est pas terminée. Ces dépôts sont toujours en cours d’indexation et peuvent faire l’objet d’une recherche partielle.
    • Indexation continue des référentiels terminés : indique le nombre de validations traitées dans l’intervalle de temps spécifié. Le nombre peut ne pas correspondre exactement au nombre total d’envois (push) vers le référentiel, car les fusions sont validées au fur et à mesure qu’elles sont indexées.
    • Nombre de référentiels avec indexation continue en cours : indique le nombre de référentiels pour lesquels les validations sont toujours traitées. Ces dépôts affichent des résultats incomplets jusqu’à ce que l’indexation soit terminée.
    • Nombre d’échecs d’indexation des travaux : indique le nombre de travaux d’indexation qui ont échoué. Les dépôts associés à ces travaux d’indexation peuvent potentiellement afficher des résultats incomplets jusqu’à ce que les travaux d’indexation ultérieur pour les mêmes référentiels corrigent l’indexation ayant échoué.
  1. Exécutez le CheckIndexingStatus.ps1 script avec des privilèges d’administration et entrez les informations suivantes :

    • Nom de l’instance SQL Server où se trouve la base de données de configuration TFS.
    • Nom de la base de données de collection TFS.
    • Nom de la base de données de configuration TFS.
    • Nom de la collection.
    • Nombre de jours précédents pour vérifier l’état de l’indexation.
  2. Passez en revue les sorties suivantes :

    • L’indexation de collection a été déclenchée avec succès : indique que l’indexation est en cours.
    • Indexation des référentiels terminé : répertorie les référentiels dont l’indexation est terminée et peut faire l’objet d’une recherche.
    • Référentiels dans la phase de découverte de fichiers : référentiels où les fichiers ne sont pas encore découverts. Ces fichiers sont indexés après cette phase.
    • Indexation des référentiels en cours : référentiels partiellement indexés et pouvant faire l’objet d’une recherche, même si les résultats ne sont que partiels. L’indexation peut prendre un certain temps.
  3. Surveiller la progression :

    1. Exécutez le CheckIndexingStatus.ps1 script à intervalles pour la progression de l’indexation.
    2. Si l’indexation ne fonctionne pas ou si le nombre de fichiers en attente ne change pas pendant un certain temps, exécutez le TriggerCollectionIndexing.ps1 script avec l’autorisation d’administration.

Si vous rencontrez des problèmes, obtenez du support sur la Communauté des développeurs.

Suspendre l’indexation

Pour suspendre l’indexation, exécutez : PauseSearchIndexing.ps1, ce qui est utile si vous voyez des pics d’utilisation du processeur après la configuration de la recherche. Vous êtes invité à entrer les informations suivantes.

  • Nom de l’instance SQL Server où se trouve la base de données de configuration Azure DevOps Server
  • Nom de la base de données de configuration Azure DevOps Server

Reprendre l’indexation

Si vous avez suspendu l’indexation, exécutez : ResumeIndexing.ps1 pour recommencer. Vous êtes invité à entrer les informations suivantes.

  • Nom de l’instance SQL Server où se trouve la base de données de configuration Azure DevOps Server
  • Nom de la base de données de configuration Azure DevOps Server

Réindexer un dépôt ou une collection

Pour réindexer un référentiel Git ou TFVC, exécutez la version appropriée du script, Re-IndexingRepository.ps1pour votre version d’Azure DevOps Server. Vous êtes invité à entrer les informations suivantes.

  • Nom de l’instance SQL Server où se trouve la base de données de configuration Azure DevOps Server
  • Nom de la base de données de collection Azure DevOps Server
  • Nom de la base de données de configuration Azure DevOps Server
  • Type de réindexation à exécuter, soit Git\_RepositoryTFVC\_Repository
  • Nom de la collection
  • Nom du dépôt à réindexer

Pour réindexer une collection, exécutez le script : TriggerCollectionIndexing.ps1. Vous êtes invité à entrer les informations suivantes.

  • Nom de l’instance SQL Server où se trouve la base de données de configuration Azure DevOps Server
  • Nom de la base de données de collection Azure DevOps Server
  • Nom de la base de données de configuration Azure DevOps Server
  • Nom de la collection
  • Entités à réindexer, soit All, Code, WorkItemou Wiki

Limitations de recherche

Si vous effectuez une opération de récupération d’urgence (DR) et que vous déplacez votre serveur vers un instantané antérieur de votre base de données SQL, réindexez tous vos regroupements.