Gérer l’indexation de recherche

Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018

Vous pouvez gérer votre extension de recherche et l’état d’indexation, qui incluent les actions suivantes : Vérifier l’état de l’indexationSuspendre l’indexationReprendre l’indexation Réindexerun dépôt ou une collection

Pour plus d’informations sur l’installation ou la configuration de la recherche, consultez Installer et configurer la recherche.

Prérequis

Pour gérer la recherche et l’indexation, vous devez être administrateur de collection de projets (PCA) pour l’organisation.

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.

Télécharger des fichiers de script pour l’administration

Notes

Lorsque vous exécutez des scripts, assurez-vous d’exécuter le script approprié pour votre version Azure DevOps Server ou TFS :

Vérifier l’état de l’indexation

(Pour TFS 2018 et Azure DevOps Server, consultez la section suivante.)

Pour vérifier l’état de l’indexation après la configuration de La recherche ou après l’installation de l’extension pour une collection, procédez comme suit :

  1. Exécutez le CheckIndexingStatus.ps1 script avec des privilèges d’administrateur. Vous êtes invité à entrer 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. Vérifiez les sorties suivantes :

    • L’indexation de collection a été déclenchée avec succès : indique que l’indexation est en cours. S’il s’affiche, vérifiez les sorties suivantes. S’il n’est pas affiché, passez à l’étape 3.
    • Indexation des dépôts terminée : dépôts dont l’indexation a été terminée et qui peuvent désormais faire l’objet d’une recherche.
    • Dépôts dans la phase de découverte de fichiers : dépôts dans lesquels les fichiers doivent encore être découverts. Les fichiers sont indexés après cette étape. Les dépôts dans cet état ne peuvent pas encore faire l’objet d’une recherche. Le nombre de fichiers déjà découverts pour l’indexation dans chaque dépôt s’affiche. Ce nombre augmente à mesure que d’autres fichiers sont découverts.
    • Indexation des dépôts en cours : ces référentiels sont partiellement indexés et doivent faire l’objet d’une recherche, même si les résultats ne sont que partiels.
  3. L’indexation prend du temps. Exécutez le CheckIndexingStatus.ps1 script à intervalles réguliers pour vérifier la progression de l’indexation.

  4. Si l’indexation ne fonctionne pas ou est en cours, mais que le nombre de fichiers en attente n’a pas changé depuis un certain temps, ou si vous n’obtenez aucun résultat pour une recherche, exécutez le TriggerCollectionIndexing.ps1 script dans une fenêtre PowerShell avec l’autorisation d’administration.

  5. Si le problème persiste, contactez le support technique .

Vérifier l’état de l’indexation pour TFS 2018 et versions ultérieures

Pour vérifier l’état de l’indexation après la configuration de La recherche ou après l’installation de l’extension pour une collection, procédez comme suit :

  1. Exécutez le ExtensionInstallIndexingStatus.ps1 script avec des privilèges d’administrateur. Vous êtes invité à entrer :

    • 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. Vérifiez les sorties suivantes :

    • L’indexation de collection a été déclenchée avec succès : indique que l’indexation est en cours. S’il s’affiche, vérifiez les sorties suivantes. S’il n’est pas affiché, passez à l’étape 3.

    • Référentiels ayant terminé l’indexation : nombre de dépôts pour lesquels l’indexation a été effectuée et qui peuvent faire l’objet d’une recherche.

    • État des dépôts actuellement en cours d’indexation : liste des noms de tous les dépôts qui sont toujours en cours d’indexation et qui peuvent faire l’objet d’une recherche partielle.

  3. L’indexation prend du temps. Exécutez le RecentIndexingActivity.ps1 script à intervalles réguliers pour vérifier la progression de l’indexation. Ce script prend les mêmes paramètres que le ExtensionInstallIndexingStatus.ps1 script.

    • Les dépôts ont terminé une nouvelle indexation : nombre de dépôts pour lesquels l’indexation s’est terminée dans l’intervalle de temps spécifié.

    • Nombre de dépôts avec une nouvelle indexation en cours : nombre de dépôts pour lesquels l’indexation n’est pas encore terminée. Ces dépôts sont toujours en cours d’indexation et peuvent faire l’objet d’une recherche partielle.

    • Les référentiels ont terminé l’indexation continue : nombre de validations traitées dans l’intervalle de temps spécifié. Le nombre peut ne pas correspondre exactement au nombre total d’envois au dépôt, car les fusions sont validées au fur et à mesure qu’elles sont indexées.

    • Nombre de dépôts avec une indexation continue en cours : nombre de dépôts pour lesquels les validations sont toujours en cours de traitement. Ces dépôts affichent des résultats incomplets jusqu’à ce que l’indexation soit terminée.

    • Nombre d’échecs de travail d’indexation : nombre de travaux d’indexation ayant é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 aient corrigé l’échec de l’indexation.

Suspendre l’indexation

Pour suspendre toute 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 l’indexation a été suspendue, exécutez ResumeIndexing.ps1 pour recommencer l’indexation. 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 dépôt Git ou TFVC, exécutez la version appropriée du script Re-IndexingRepository.ps1 pour votre version 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. Le type peut être l’une des valeurs suivantes :
    • Git_Repository
    • TFVC_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. Les entités peuvent être l’une des valeurs suivantes :
    • Tout
    • Code
    • WorkItem
    • Wiki

Limitations de recherche

La recherche de Azure DevOps Server présente la limitation suivante :

  • 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.