検索インデックスの管理

検索拡張機能とインデックスの状態を管理することができます。これには、インデックス作成の状態を確認する インデックス作成の一時停止インデックス またはコレクションのインデックス再作成再開

検索をインストールまたは構成する方法の詳細については、「 search のインストールと構成」を参照してください。

前提条件

検索とインデックス作成を管理するには、組織のProject コレクション管理者 (PCA)である必要があります。

インデックスを管理する

PowerShell と SQL スクリプトを実行して、検索を管理します。 これらのスクリプトはすべて、コード検索 GitHub リポジトリ からダウンロードできます。 すべてのスクリプトは、サーバー上のローカルフォルダーにダウンロードできます。 このサーバーは、[ ZIP のダウンロード] オプションを使用して Azure DevOps Server のデータベースを実行します。

powershell スクリプトには SQL スクリプトファイルが必要です。そのため、 sqlscripts フォルダーとその内容が powershell スクリプトと共に存在することを確認してください。

管理用スクリプトファイルをダウンロードする

注意

スクリプトを実行するときは、Azure DevOps Server または TFS のバージョンに適したスクリプトを実行していることを確認してください。

インデックスの状態の確認

(TFS 2017 Update 1 以降、Azure DevOps Server については、次のセクションを参照してください。)

検索が構成された後、またはコレクションに対して拡張機能がインストールされた後に、インデックスの状態を確認するには、次の手順を実行します。

  1. CheckIndexingStatus.ps1管理者特権を使用してスクリプトを実行します。 次の情報を入力するように求められます。

    • TFS 構成データベースが格納されている SQL サーバーインスタンスの名前。
    • TFS コレクションデータベースの名前。
    • TFS 構成データベースの名前。
    • コレクションの名前。
    • インデックスの状態を確認する前の日数。

  2. 次の出力を確認します。

    • コレクションのインデックス作成が正常に開始されました: インデックス作成が進行中であることを示します。 表示されている場合は、次の出力を確認します。 表示されていない場合は、手順 3. に進んでください。
    • リポジトリのインデックス作成完了: インデックス作成が完了し、検索できるようになったリポジトリ。
    • ファイル検出フェーズのリポジトリ: ファイルがまだ検出されていないリポジトリ。 このステージの後にファイルのインデックスが作成されます。 この状態のリポジトリはまだ検索できません。 各リポジトリでインデックス作成が既に検出されているファイルの数が表示されます。 この数は、検出されるファイルが増えるにつれて増加します。
    • リポジトリのインデックス作成中: これらのリポジトリは部分的にインデックスが作成されており、結果が一部しかない場合でも検索できます。
  3. インデックス作成が完了するまでに少し時間がかかります。 CheckIndexingStatus.ps1間隔でスクリプトを実行して、インデックス作成の進行状況を確認します。

  4. インデックス作成が機能していない場合、または処理中であっても、保留中のファイルの数がしばらく変更されていない場合、または検索結果がない場合は、 TriggerCollectionIndexing.ps1 管理者権限で PowerShell ウィンドウでスクリプトを実行します。

  5. 問題が解決しない場合は、 カスタマーサポート にお問い合わせください。

TFS 2017 Update 1 以降のインデックス作成の状態を確認する

検索が構成された後、または拡張機能がコレクションにインストールされた後に、インデックスの状態を確認するには、次の手順を実行します。

  1. ExtensionInstallIndexingStatus.ps1管理者特権を使用してスクリプトを実行します。 次のように入力するように求められます。

    • Azure DevOps Server 構成データベースが格納されている SQL サーバーインスタンスの名前。
    • Azure DevOps Server コレクションデータベースの名前。
    • Azure DevOps Server 構成データベースの名前。
    • コレクションの名前。
    • インデックスの状態を確認する前の日数。

  2. 次の出力を確認します。

    • コレクションのインデックス作成が正常に開始されました: インデックス作成が進行中であることを示します。 表示されている場合は、次の出力を確認します。 表示されていない場合は、手順 3. に進みます。

    • インデックス作成が完了 したリポジトリ: インデックス作成が完了し、検索可能なリポジトリの数。

    • 現在インデックスを作成しているリポジトリの状態: インデックスが作成されていて、部分的に検索可能なすべてのリポジトリの名前の一覧。

  3. インデックス作成が完了するまでに少し時間がかかります。 RecentIndexingActivity.ps1間隔でスクリプトを実行して、インデックス作成の進行状況を確認します。 このスクリプトは、スクリプトと同じパラメーターを受け取り ExtensionInstallIndexingStatus.ps1 ます。

    • リポジトリが新しく完成したインデックス作成: 指定した期間内にインデックス作成が完了したリポジトリの数。

    • 新しいインデックス作成が進行中のリポジトリの 数: インデックス作成がまだ完了していないリポジトリの数。 これらのリポジトリはまだインデックスが作成されており、部分的に検索できます。

    • リポジトリの継続的なインデックス作成の完了: 指定した期間内に処理されたコミットの数。 インデックスの作成時にマージがコミットされるので、この数は、リポジトリへのプッシュの総数と完全に一致するとは限りません。

    • 継続的なインデックス作成が進行中のリポジトリの 数: コミットがまだ処理されているリポジトリの数。 これらのリポジトリでは、インデックス作成が完了するまで不完全な結果が表示されます。

    • インデックス作成ジョブの失敗 数: 失敗したインデックス作成ジョブの数。 これらのインデックス作成ジョブに関連付けられたリポジトリでは、同じリポジトリのインデックス作成ジョブによって失敗したインデックス作成が修正されるまで、不完全な結果が表示される可能性があります。

インデックスの一時停止

すべてのインデックス作成を一時停止するには、を実行し PauseSearchIndexing.ps1 ます。これは、検索の構成後に CPU 使用率が急増している場合に便利です。

次の情報を入力するように求められます。

  • Azure DevOps Server 構成データベースが格納されている SQL サーバーインスタンス名
  • Azure DevOps Server 構成データベースの名前

インデックスの再開

インデックスが一時停止されている場合は、を実行して ResumeIndexing.ps1 インデックスの再作成を再開します。 次の情報を入力するように求められます。

  • Azure DevOps Server 構成データベースが格納されている SQL サーバーインスタンス名
  • Azure DevOps Server 構成データベースの名前

リポジトリまたはコレクションの再インデックス

Git または TFVC リポジトリのインデックスを再作成するには、Azure DevOps Server バージョンに対応する適切なバージョンのスクリプトを実行し Re-IndexingRepository.ps1 ます。 次の情報を入力するように求められます。

  • Azure DevOps Server 構成データベースが格納されている SQL サーバーインスタンス名
  • Azure DevOps Server collection データベースの名前
  • Azure DevOps Server 構成データベースの名前
  • 実行するインデックスの再構築の種類。 型には、次のいずれかの値を指定できます。
    • Git _ リポジトリ
    • TFVC _ リポジトリ
  • コレクションの名前
  • 再インデックスするリポジトリの名前

コレクション のインデックスを再作成するには、スクリプトを実行し TriggerCollectionIndexing.ps1 ます。 次の情報を入力するように求められます。

  • Azure DevOps Server 構成データベースが格納されている SQL サーバーインスタンス名
  • コレクション データベースAzure DevOps Server名前
  • 構成データベースのAzure DevOps Server名
  • コレクションの名前
  • インデックスを再作成するエンティティ。 エンティティには、次のいずれかの値を指定できます。
    • すべて
    • コード
    • Workitem
    • Wiki

Search の制限事項

次の制限Azure DevOps Serverを検索します。

  • ディザスター リカバリー (DR) 操作を実行し、サーバーを SQL データベースの以前のスナップショットに戻す場合は、すべてのコレクションのインデックスを再設定します