Управление индексированием поиска
Azure DevOps Server 2022 — Azure DevOps Server 2019
Вы можете управлять расширением поиска и состоянием индексирования, включая следующие действия:
- Проверка состояния индексирования
- Приостановка индексирования
- Возобновление индексирования
- Переиндексация репозитория или коллекции
Необходимые компоненты
- Установите и настройте поиск.
- Назначение роли Администратор istrator (PCA) коллекции проектов для организации для управления поиском и индексированием.
Управление индексированием
Поиск управляется с помощью сценариев PowerShell и SQL. Все эти скрипты доступны для скачивания из репозитория GitHub для поиска кода. Вы можете скачать все скрипты в локальную папку на сервере. Этот сервер запускает базу данных для Сервера Azure DevOps с помощью параметра Download ZIP .
Для сценариев PowerShell требуются файлы скриптов SQL, поэтому убедитесь, что папка SqlScripts и его содержимое присутствуют вместе со скриптами PowerShell.
Примечание.
При выполнении скриптов убедитесь, что вы запускаете соответствующий сценарий для вашей версии:
Проверка состояния индексирования
Чтобы проверка состояние индексирования после настройки поиска или после установки расширения для коллекции выполните следующие действия.
ExtensionInstallIndexingStatus.ps1
Выполните скрипт с правами администратора и введите следующие сведения:- Имя экземпляра SQL Server, в котором находится база данных конфигурации Azure DevOps Server.
- Имя базы данных коллекции Azure DevOps Server.
- Имя базы данных конфигурации Azure DevOps Server.
- Имя коллекции.
- Число предыдущих дней для проверка состояния индексирования.
Просмотрите следующие выходные данные:
- Индексирование коллекции было запущено успешно: указывает, что индексирование выполняется.
- Репозитории индексирования завершены: списки репозиториев, индексирование которых завершено и доступно для поиска.
- Состояние репозиториев, индексируемых в настоящее время: перечисляет имена всех репозиториев, которые по-прежнему индексируются и частично доступны для поиска. Для завершения индексирования потребуется некоторое время.
Выполнение скрипта
RecentIndexingActivity.ps1
через интервалы для выполнения индексирования. Этот скрипт принимает те же параметры, чтоExtensionInstallIndexingStatus.ps1
и сценарий:- Репозитории завершили свежий индексирование: показывает количество репозиториев, для которых индексирование завершено в течение указанного интервала времени.
- Количество репозиториев с новым индексированием: показывает количество репозиториев, для которых индексирование не завершено. Эти репозитории по-прежнему индексируются и частично доступны для поиска.
- Репозитории завершили непрерывный индексирование: показывает количество фиксаций, обработанных в указанном интервале времени. Число может не совпадать с общим числом отправки в репозиторий, так как слияние фиксируется по мере их индексирования.
- Количество репозиториев с непрерывным индексированием. Показывает количество репозиториев, для которых фиксации по-прежнему обрабатываются. Эти репозитории показывают неполные результаты до завершения индексирования.
- Количество неудачных заданий индексирования. Показывает количество заданий индексирования, которые завершилось сбоем. Репозитории, связанные с этими заданиями индексирования, могут потенциально отображать неполные результаты до последующих заданий индексирования для тех же репозиториев, исправленных сбоем индексирования.
CheckIndexingStatus.ps1
Выполните скрипт с правами администратора и введите следующие сведения:- Имя экземпляра SQL Server, в котором находится база данных конфигурации TFS.
- Имя базы данных коллекции TFS.
- Имя базы данных конфигурации TFS.
- Имя коллекции.
- Число предыдущих дней для проверка состояния индексирования.
Просмотрите следующие выходные данные:
- Индексирование коллекции было запущено успешно: указывает, что индексирование выполняется.
- Репозитории индексирования завершены: списки репозиториев, индексирование которых завершено и доступно для поиска.
- Репозитории на этапе обнаружения файлов: репозитории, в которых файлы еще не обнаружены. Эти файлы индексируются после этого этапа.
- В процессе индексирования репозиториев: репозитории, частично индексированные и которые должны быть доступны для поиска, даже если результаты являются лишь частичными. Для завершения индексирования может потребоваться некоторое время.
Мониторинг хода выполнения:
- Выполнение скрипта
CheckIndexingStatus.ps1
через интервалы для выполнения индексирования. - Если индексирование не работает или количество ожидающих файлов не изменяется в течение некоторого времени, выполните
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, переиндексируйте все коллекции.