검색 인덱싱 관리
Azure DevOps Server 2022 - Azure DevOps Server 2019
다음 작업을 포함하는 검색 확장 및 인덱싱 상태를 관리할 수 있습니다.
- 인덱싱 상태 확인
- 인덱싱 일시 중지
- 색인 작업 재개
- 리포지토리 또는 컬렉션 다시 인덱싱
필수 구성 요소
범주 | 요구 사항 |
---|---|
사용 권한 | 프로젝트 컬렉션 관리자 그룹의 구성원입니다. |
작업 | 설치 및 검색구성 완료. |
인덱싱 관리
PowerShell 및 SQL 스크립트를 실행하여 검색을 관리합니다. 이러한 모든 스크립트는 Code-Search GitHub 리포지토리다운로드할 수 있습니다. 모든 스크립트를 서버의 로컬 폴더에 다운로드할 수 있습니다. 이 서버는 ZIP 다운로드 옵션을 사용하여 Azure DevOps Server용 데이터베이스를 실행합니다.
PowerShell 스크립트에는 SQL 스크립트 파일이 필요하므로 SqlScripts 폴더 및 해당 내용이 PowerShell 스크립트와 함께 있는지 확인합니다.
메모
스크립트를 실행할 때 버전에 적합한 스크립트를 실행해야 합니다.
- TFS 2018 RTM
- TFS 2018 업데이트 1
- TFS 2018 업데이트 2
- Azure DevOps Server 및 TFS 2018 업데이트 3
인덱싱 상태 확인
검색을 구성한 후 또는 컬렉션에 대한 확장이 설치된 후 인덱싱 상태를 확인하려면 다음 단계를 수행합니다.
관리 권한으로
ExtensionInstallIndexingStatus.ps1
스크립트를 실행하고 다음 정보를 입력합니다.- Azure DevOps Server 구성 데이터베이스가 있는 SQL Server 인스턴스 이름입니다.
- Azure DevOps Server 컬렉션 데이터베이스의 이름입니다.
- Azure DevOps Server 구성 데이터베이스의 이름입니다.
- 컬렉션의 이름입니다.
- 인덱싱 상태를 확인할 이전의 일 수입니다.
다음 출력을 검토합니다.
- 컬렉션 인덱싱이 트리거되었습니다. 인덱싱이 진행 중임을 나타냅니다.
- 리포지토리 인덱싱 완료: 인덱싱이 완료되고 검색 가능한 리포지토리를 나열합니다.
- 현재 인덱싱 중인 리포지토리의 상태: 인덱싱되고 있고 부분적으로 검색 가능한 모든 리포지토리의 이름을 나열합니다. 인덱싱을 완료하는 데 다소 시간이 걸립니다.
인덱싱 진행률을 위해 간격으로
RecentIndexingActivity.ps1
스크립트를 실행합니다. 이 스크립트는ExtensionInstallIndexingStatus.ps1
스크립트와 동일한 매개 변수를 사용합니다.- 리포지토리에서 새 인덱싱을 완료했습니다. 지정된 시간 간격 내에 인덱싱이 완료된 리포지토리 수를 표시합니다.
- 새 인덱싱이 진행 중인 리포지토리 수: 인덱싱이 완료되지 않은 리포지토리 수를 표시합니다. 이러한 리포지토리는 여전히 인덱싱되고 있으며 부분적으로 검색할 수 있습니다.
- 리포지토리가 연속 인덱싱을 완료했습니다. 지정된 시간 간격으로 처리된 커밋 수를 표시합니다. 병합이 인덱싱될 때 커밋되기 때문에 이 숫자는 리포지토리에 대한 총 푸시 수와 정확히 일치하지 않을 수 있습니다.
- 지속적인 인덱싱이 진행 중인 리포지토리 수: 커밋이 아직 처리 중인 리포지토리 수를 표시합니다. 이러한 리포지토리는 인덱싱이 완료될 때까지 불완전한 결과를 표시합니다.
- 인덱싱 작업 실패 횟수: 실패한 인덱싱 작업의 수를 표시합니다. 이러한 인덱싱 작업과 연결된 리포지토리는 동일한 리포지토리에 대한 나중에 인덱싱 작업이 실패한 인덱싱을 패치할 때까지 불완전한 결과를 표시할 수 있습니다.
관리 권한으로
CheckIndexingStatus.ps1
스크립트를 실행하고 다음 정보를 입력합니다.- TFS 구성 데이터베이스가 있는 SQL Server 인스턴스 이름.
- TFS 컬렉션 데이터베이스의 이름입니다.
- TFS 구성 데이터베이스의 이름입니다.
- 컬렉션의 이름은입니다.
- 인덱싱 상태 확인을 위한 이전 일 수입니다.
다음 출력을 검토합니다.
- 컬렉션 인덱싱이 트리거되었습니다. 인덱싱이 진행 중임을 나타냅니다.
- 리포지토리 인덱싱 완료: 인덱싱이 완료되고 검색 가능한 리포지토리를 나열합니다.
- 파일 검색 단계의 리포지토리: 파일이 아직 검색되지 않은 리포지토리입니다. 이러한 파일은 이 단계 후에 인덱싱됩니다.
- 리포지토리 인덱싱 진행 중: 결과가 부분적인 경우에도 부분적으로 인덱싱되고 검색할 수 있어야 하는 리포지토리입니다. 인덱싱을 완료하는 데 다소 시간이 걸릴 수 있습니다.
진행률 모니터링:
- 인덱싱 진행률을 위해 간격으로
CheckIndexingStatus.ps1
스크립트를 실행합니다. - 인덱싱이 작동하지 않거나 보류 중인 파일 수가 일정 시간 동안 변경되지 않는 경우 관리 권한이 있는
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\_Repository
또는TFVC\_Repository
중 하나입니다. - 컬렉션의 이름입니다.
- 다시 인덱싱할 리포지토리의 이름
컬렉션다시 인덱싱하려면 TriggerCollectionIndexing.ps1
스크립트를 실행합니다.
다음 정보를 입력하라는 메시지가 표시됩니다.
- Azure DevOps Server 구성 데이터베이스가 있는 SQL Server 인스턴스 이름
- Azure DevOps Server 컬렉션 데이터베이스의 이름
- Azure DevOps Server 구성 데이터베이스의 이름
- 컬렉션의 이름입니다.
- 다시 인덱싱할 엔터티 (
All
,Code
,WorkItem
또는Wiki
)
검색 제한 사항
DR(재해 복구) 작업을 수행하고 서버를 SQL 데이터베이스의 이전 스냅샷으로 다시 이동하는 경우 모든 컬렉션을 다시 인덱싱할있습니다.
관련 문서
- 설치 및 구성 검색