管理搜尋索引編製
Azure DevOps Server 2022 - Azure DevOps Server 2019
您可以管理搜尋延伸模組和索引狀態,其中包括下列動作:
先決條件
類別 | 要求 |
---|---|
權限 | 專案集合系統管理員 群組的成員。 |
任務 | 完成 安裝和設定搜尋。 |
管理索引
搜尋會藉由執行 PowerShell 和 SQL 腳本來管理。 所有這些文稿都可以從 Code-Search GitHub 存放庫下載,。 您可以將所有文稿下載到伺服器上的本機資料夾。 此伺服器使用 下載 ZIP 選項來執行 Azure DevOps Server 的資料庫。
PowerShell 腳本需要 SQL 腳本檔案,因此請確定 SqlScripts 資料夾及其內容,以及 PowerShell 腳稿。
注意
當您執行腳本時,請確保執行適合您版本的腳本:
檢查索引編製狀態
若要在設定搜尋之後,或在為集合安裝擴充功能之後檢查索引狀態,請執行下列步驟。
使用 系統管理許可權 執行
ExtensionInstallIndexingStatus.ps1
腳本,並輸入下列資訊:- Azure DevOps Server 組態資料庫所在的 SQL Server 實例名稱。
- Azure DevOps Server 集合資料庫的名稱。
- Azure DevOps Server 組態資料庫的名稱。
- 集合的名稱。
- 要檢查索引編製狀態時參考的前幾天數目。
檢閱下列輸出:
- 已成功觸發集合索引編製: 指出索引編製正在進行中。
- 存放庫索引編製已完成: 列出索引編製已完成且可搜尋的存放庫。
- 目前編製索引的存放庫狀態: 列出仍在編製索引且部分可搜尋的所有存放庫名稱。 編製索引需要一些時間才能完成。
定期執行
RecentIndexingActivity.ps1
腳本,以確認索引進度。 此文稿會採用與ExtensionInstallIndexingStatus.ps1
文稿相同的參數:- 存放庫已完成全新編製索引: 顯示索引編製在指定時間間隔內完成的存放庫數目。
- 正在進行新編製索引的存放庫計數: 顯示索引編製未完成的存放庫數目。 這些存放庫仍在編製索引,且部分可搜尋。
- 存放庫已完成連續編製索引: 顯示指定時間間隔中處理的提交數目。 由於合併是在編製索引時提交的,因此推送到存放庫的次數可能無法與總數完全匹配。
- 正在執行連續索引的存放庫計數: 顯示提交仍在處理中的存放庫數量。 這些存放庫會顯示不完整的結果,直到編製索引完成為止。
- 索引作業失敗計數: 顯示失敗的編製索引作業數目。 與這些索引作業相關聯的存放庫可能會顯示不完整的結果,直到稍後為相同存放庫編製索引作業修補失敗的索引。
使用 系統管理許可權 執行
CheckIndexingStatus.ps1
腳本,並輸入下列資訊:- SQL Server 實例名稱TFS 組態資料庫 所在的位置。
- 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 資料庫快照集,重新編制所有集合的索引。