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


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

Azure DevOps Server 2022 — Azure DevOps Server 2019

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

Необходимые компоненты

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

Поиск управляется с помощью сценариев PowerShell и SQL. Все эти скрипты доступны для скачивания из репозитория GitHub для поиска кода. Вы можете скачать все скрипты в локальную папку на сервере. Этот сервер запускает базу данных для Сервера Azure DevOps с помощью параметра Download 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\_RepositoryTFVC\_Repository
  • Имя коллекции
  • Имя репозитория для повторной индексации

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

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

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

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