Поделиться через


Управление индексированием поиска

Azure DevOps Server 2022 — Azure DevOps Server 2019

Вы можете управлять расширением поиска и состоянием индексирования, включая следующие действия:

Необходимые условия

Категория Требования
разрешения Член группы администраторов коллекции проектов.
задачи Завершите установку и настройкупоиска.

Управление индексированием

Поиск управляется с помощью сценариев PowerShell и SQL. Все эти скрипты доступны для скачивания из репозитория Code-Search GitHub. Вы можете скачать все скрипты в локальную папку на сервере. Этот сервер запускает базу данных для Azure DevOps Server с помощью параметра Загрузка ZIP.

Для сценариев PowerShell требуются файлы скриптов SQL, поэтому убедитесь, что папка SqlScripts и ее содержимое присутствуют вместе со скриптами PowerShell.

Скриншот, показывающий загрузку файлов сценариев для администрирования.

Заметка

При выполнении скриптов убедитесь, что вы запускаете соответствующий сценарий для вашей версии:

Проверка состояния индексирования

Чтобы проверить состояние индексирования после настройки поиска или после установки расширения для коллекции, выполните следующие действия.

  1. Выполните скрипт ExtensionInstallIndexingStatus.ps1 с правами администратора и введите следующие сведения:

    • Имя экземпляра SQL Server, в котором находится база данных конфигурации Azure DevOps Server.
    • Имя базы данных коллекции Azure DevOps Server.
    • Имя базы данных конфигурации Azure DevOps Server.
    • Имя коллекции.
    • Количество предыдущих дней для проверки состояния индексирования.
  2. Просмотрите следующие выходные данные:

    • индексирование коллекции было запущено успешно: Указывает, что индексирование выполняется.
    • Индексация репозиториев завершена: Списки репозиториев, индексирование которых завершено и доступны для поиска.
    • состояние репозиториев, индексируемых в настоящее время: перечисляет имена всех репозиториев, которые по-прежнему индексируются и частично доступны для поиска. Для завершения индексирования потребуется некоторое время.
  3. Выполните скрипт RecentIndexingActivity.ps1 с интервалами для выполнения индексирования. Этот скрипт принимает те же параметры, что и сценарий ExtensionInstallIndexingStatus.ps1:

    • Репозитории завершили свежий индексирование: Показывает количество репозиториев, для которых индексирование завершено в течение указанного интервала времени.
    • количество репозиториев с новым индексированием: Показывает количество репозиториев, для которых индексирование не завершено. Эти репозитории по-прежнему индексируются и частично доступны для поиска.
    • Репозитории завершили непрерывное индексирование: Показывает количество коммитов, обработанных в указанном интервале времени. Число может не совпадать с общим числом отправок в репозиторий, поскольку слияния фиксируются в процессе их индексирования.
    • количество репозиториев в процессе постоянного индексирования: Показывает количество репозиториев, для которых коммиты по-прежнему обрабатываются. Эти репозитории показывают неполные результаты до завершения индексирования.
    • Количество сбоев заданий индексирования: Показывает количество неудачных заданий индексирования. Репозитории, связанные с этими заданиями индексирования, могут отображать неполные результаты до тех пор, пока последующие задания индексирования на тех же репозиториях не исправят сбои индексирования.
  1. Выполните скрипт CheckIndexingStatus.ps1 с правами администратора и введите следующие сведения:

    • Экземпляр SQL Server, где расположена база данных конфигурации TFS.
    • Название базы данных коллекции TFS.
    • Имя базы данных конфигурации TFS.
    • Имя коллекции .
    • Количество предыдущих дней для проверки состояния индексирования.
  2. Просмотрите следующие выходные данные:

    • индексирование коллекции было запущено успешно: Указывает, что индексирование выполняется.
    • Индексация репозиториев завершена: Списки репозиториев, индексирование которых завершено и доступны для поиска.
    • репозитории на этапе обнаружения файлов: репозитории, в которых файлы еще не обнаружены. Эти файлы индексируются после этого этапа.
    • Репозитории индексирования в процессе выполнения: репозитории, частично индексированные и которые должны быть доступны для поиска, даже если результаты являются только частичными. Для завершения индексирования может потребоваться некоторое время.
  3. Мониторинг хода выполнения:

    1. Выполните скрипт CheckIndexingStatus.ps1 с интервалами для выполнения индексирования.
    2. Если индексирование не работает или количество ожидающих файлов не изменяется в течение некоторого времени, выполните скрипт TriggerCollectionIndexing.ps1 с правами администратора.

Если возникли проблемы, получите поддержку в сообществе разработчиков .

Приостановка индексирования

Чтобы приостановить все индексирование, выполните следующие действия: PauseSearchIndexing.ps1, что полезно при возникновении пиков использования ЦП после настройки поиска. Вам будет предложено ввести следующие сведения.

  • Имя экземпляра SQL Server, в котором находится база данных конфигурации Azure DevOps Server
  • Имя базы данных конфигурации Azure DevOps Server

Возобновление индексирования

Если индексирование приостановлено, выполните следующую команду: ResumeIndexing.ps1, чтобы начать снова. Вам будет предложено ввести следующие сведения.

  • Имя экземпляра SQL Server, в котором находится база данных конфигурации Azure DevOps Server
  • Имя базы данных конфигурации Azure DevOps Server

Переиндексация репозитория или коллекции

Чтобы переиндексировать репозиторий Git или TFVC, выполните соответствующую версию скрипта Re-IndexingRepository.ps1для версии Azure DevOps Server. Вам будет предложено ввести следующие сведения.

  • Имя экземпляра SQL Server, в котором находится база данных конфигурации Azure DevOps Server
  • Название базы данных коллекции Azure DevOps Server
  • Имя базы данных конфигурации Azure DevOps Server
  • Тип переиндексирования, который следует выполнить: либо Git\_Repository, либо TFVC\_Repository
  • Имя коллекции
  • Имя репозитория для повторной индексации

Чтобы переиндексировать коллекцию , выполните скрипт: TriggerCollectionIndexing.ps1. Вам будет предложено ввести следующие сведения.

  • Имя экземпляра SQL Server, в котором находится база данных конфигурации Azure DevOps Server
  • Имя базы данных коллекции Azure DevOps Server
  • Имя базы данных конфигурации Azure DevOps Server
  • Имя коллекции
  • Сущности для повторной индексации, All, Code, WorkItemили Wiki

Ограничения поиска

Если вы выполняете операцию аварийного восстановления и перемещаете сервер обратно к более раннему моментальному снимку базы данных SQL, следует переиндексировать все ваши коллекции.