검색 인덱싱 관리

Azure DevOps Server 2022 - Azure DevOps Server 2019

다음 작업을 포함하는 검색 확장 및 인덱싱 상태 관리할 수 있습니다.

필수 조건

인덱싱 관리

PowerShell 및 SQL 스크립트를 실행하여 검색을 관리합니다. 이러한 모든 스크립트는 Code-Search GitHub 리포지토리에서 다운로드할 수 있습니다. 모든 스크립트를 서버의 로컬 폴더에 다운로드할 수 있습니다. 이 서버는 ZIP 다운로드 옵션을 사용하여 Azure DevOps Server용 데이터베이스를 실행합니다.

PowerShell 스크립트에는 SQL 스크립트 파일이 필요하므로 SqlScripts 폴더와 해당 내용이 PowerShell 스크립트와 함께 있는지 확인합니다.

관리용 다운로드 스크립트 파일을 보여 주는 스크린샷

참고 항목

스크립트를 실행할 때 버전에 적합한 스크립트를 실행해야 합니다.

인덱싱 상태 확인

검색이 구성된 후 또는 컬렉션에 대한 확장이 설치된 후 인덱싱 상태 검사 다음 단계를 수행합니다.

  1. 관리자 권한으로 ExtensionInstallIndexingStatus.ps1스크립트를 실행하고 다음 정보를 입력합니다 .

    • Azure DevOps Server 구성 데이터베이스가 있는 SQL Server 인스턴스 이름입니다.
    • Azure DevOps Server 컬렉션 데이터베이스의 이름입니다.
    • Azure DevOps Server 구성 데이터베이스의 이름입니다.
    • 컬렉션의 이름입니다.
    • 인덱싱 상태 검사 이전 일수입니다.
  2. 다음 출력을 검토합니다.

    • 컬렉션 인덱싱이 트리거 되었습니다. 인덱싱이 진행 중임을 나타냅니다.
    • 리포지토리 인덱싱 완료: 인덱싱이 완료되고 검색 가능한 리포지토리를 나열합니다.
    • 현재 인덱싱 중인 리포지토리의 상태: 인덱싱되고 있고 부분적으로 검색 가능한 모든 리포지토리의 이름을 나열합니다. 인덱싱을 완료하는 데 다소 시간이 걸립니다.
  3. RecentIndexingActivity.ps1 인덱싱 진행률을 위해 간격으로 스크립트를 실행합니다. 이 스크립트는 스크립트와 동일한 매개 변수를 사용합니다.ExtensionInstallIndexingStatus.ps1

    • 새 인덱싱이 완료된 리포지토리: 지정된 시간 간격 내에 인덱싱이 완료된 리포지토리 수를 표시합니다.
    • 진행 중인 새 인덱싱이 있는 리포지토리 수: 인덱싱이 완료되지 않은 리포지토리 수를 표시합니다. 이러한 리포지토리는 여전히 인덱싱되고 있으며 부분적으로 검색할 수 있습니다.
    • 리포지토리 완료 연속 인덱싱: 지정된 시간 간격으로 처리된 커밋 수를 표시합니다. 병합이 인덱싱될 때 커밋되기 때문에 이 숫자는 리포지토리에 대한 총 푸시 수와 정확히 일치하지 않을 수 있습니다.
    • 지속적인 인덱싱이 진행 중인 리포지토리 수: 커밋이 여전히 처리 중인 리포지토리 수를 표시합니다. 이러한 리포지토리는 인덱싱이 완료될 때까지 불완전한 결과를 표시합니다.
    • 인덱싱 작업 실패 횟수: 실패한 인덱싱 작업의 수를 표시합니다. 이러한 인덱싱 작업과 연결된 리포지토리는 동일한 리포지토리에 대한 나중에 인덱싱 작업이 실패한 인덱싱을 패치할 때까지 불완전한 결과를 표시할 수 있습니다.
  1. 관리자 권한으로 CheckIndexingStatus.ps1스크립트를 실행하고 다음 정보를 입력합니다 .

    • TFS 구성 데이터베이스가 있는 SQL Server 인스턴스 이름입니다.
    • TFS 컬렉션 데이터베이스의 이름입니다.
    • TFS 구성 데이터베이스의 이름입니다.
    • 컬렉션이름입니다.
    • 인덱싱 상태 검사 이전 일수입니다.
  2. 다음 출력을 검토합니다.

    • 컬렉션 인덱싱이 트리거 되었습니다. 인덱싱이 진행 중임을 나타냅니다.
    • 리포지토리 인덱싱 완료: 인덱싱이 완료되고 검색 가능한 리포지토리를 나열합니다.
    • 파일 검색 단계의 리포지토리: 파일이 아직 검색되지 않은 리포지토리입니다. 이러한 파일은 이 단계 후에 인덱싱됩니다.
    • 진행 중인 리포지토리 인덱싱: 결과가 부분적인 경우에도 부분적으로 인덱싱되고 검색할 수 있어야 하는 리포지토리입니다. 인덱싱을 완료하는 데 다소 시간이 걸릴 수 있습니다.
  3. 진행률 모니터링:

    1. CheckIndexingStatus.ps1 인덱싱 진행률을 위해 간격으로 스크립트를 실행합니다.
    2. 인덱싱이 작동하지 않거나 보류 중인 파일 수가 일정 시간 동안 변경되지 않는 경우 관리자 권한으로 스크립트를 TriggerCollectionIndexing.ps1 실행합니다.

문제가 발생하면 개발자 커뮤니티에서 지원을 받으세요.

인덱싱 일시 중지

모든 인덱싱을 일시 중지하려면 다음 PauseSearchIndexing.ps1을 실행합니다. 검색을 구성한 후 CPU 사용률이 급증하면 유용합니다. 다음 정보를 입력하라는 메시지가 표시됩니다.

  • Azure DevOps Server 구성 데이터베이스가 있는 SQL Server 인스턴스 이름
  • Azure DevOps Server 구성 데이터베이스의 이름

인덱싱 다시 시작

인덱싱을 일시 중지한 경우 다음 ResumeIndexing.ps1 을 실행하여 다시 시작합니다. 다음 정보를 입력하라는 메시지가 표시됩니다.

  • Azure DevOps Server 구성 데이터베이스가 있는 SQL Server 인스턴스 이름
  • Azure DevOps Server 구성 데이터베이스의 이름

리포지토리 또는 컬렉션 다시 인덱싱

Git 또는 TFVC 리포지토리를 다시 인덱싱하려면 Azure DevOps Server 버전에 적합한 버전의 스크립트 Re-IndexingRepository.ps1를 실행합니다. 다음 정보를 입력하라는 메시지가 표시됩니다.

  • Azure DevOps Server 구성 데이터베이스가 있는 SQL Server 인스턴스 이름
  • Azure DevOps Server 컬렉션 데이터베이스의 이름
  • Azure DevOps Server 구성 데이터베이스의 이름
  • 실행할 다시 인덱싱의 형식 또는 Git\_RepositoryTFVC\_Repository
  • 컬렉션의 이름입니다.
  • 다시 인덱싱할 리포지토리의 이름

컬렉션을 다시 인덱싱하려면 다음 스크립트TriggerCollectionIndexing.ps1를 실행합니다. 다음 정보를 입력하라는 메시지가 표시됩니다.

  • Azure DevOps Server 구성 데이터베이스가 있는 SQL Server 인스턴스 이름
  • Azure DevOps Server 컬렉션 데이터베이스의 이름
  • Azure DevOps Server 구성 데이터베이스의 이름
  • 컬렉션의 이름입니다.
  • 다시 인덱싱할 엔터티,, , AllCodeWorkItem또는Wiki

검색 제한 사항

DR(재해 복구) 작업을 수행하고 서버를 SQL 데이터베이스의 이전 스냅샷 다시 이동하는 경우 모든 컬렉션을 다시 인덱싱합니다.