検索インデックス作成の管理

Azure DevOps Server 2022 - Azure DevOps Server 2019

検索拡張機能とインデックス作成の状態を管理できます。これには、次のアクションが含まれます。

前提条件

インデックスを管理する

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

PowerShell スクリプトには SQL スクリプト ファイルが必要であるため、 SqlScripts フォルダーとその内容が PowerShell スクリプトと共に存在することを確認します。

管理用のダウンロード スクリプト ファイルを示すスクリーンショット。

Note

スクリプトを実行するときは、バージョンに適したスクリプトを実行してください。

インデックス作成の状態を確認する

Search の構成後、またはコレクションの拡張機能のインストール後にインデックス作成の状態をチェックするには、次の手順を実行します。

  1. 管理者特権でスクリプトをExtensionInstallIndexingStatus.ps1実行し、次の情報を入力します。

    • Azure DevOps Server 構成データベースがある SQL Server インスタンス名。
    • Azure DevOps Server コレクション データベースの名前。
    • Azure DevOps Server構成データベースの名前。
    • コレクションの名前。
    • インデックス作成の状態を確認する前の日数。
  2. 次の出力を確認します。

    • コレクションのインデックス作成が正常にトリガーされました: インデックス作成が進行中であることを示します。
    • [Repositories Indexing Completed]: インデックス作成が完了し、検索可能なリポジトリを一覧表示します。
    • 現在インデックスを作成しているリポジトリの状態: インデックスが作成され、部分的に検索可能なすべてのリポジトリの名前が一覧表示されます。 インデックス作成が完了するまでに時間がかかります。
  3. インデックス作成の RecentIndexingActivity.ps1 進行状況を示す間隔でスクリプトを実行します。 このスクリプトは、スクリプトと同じパラメーターを ExtensionInstallIndexingStatus.ps1 受け取ります。

    • 新しいインデックス作成が完了したリポジトリ: 指定された時間間隔内にインデックス作成が完了したリポジトリの数が表示されます。
    • 新しいインデックス作成が進行中のリポジトリの数: インデックス作成が完了していないリポジトリの数を示します。 これらのリポジトリはまだインデックスが作成されており、部分的に検索可能です。
    • リポジトリの連続インデックス作成が完了しました: 指定された時間間隔で処理されたコミットの数が表示されます。 マージはインデックスが作成されるとコミットされるため、リポジトリへのプッシュの合計数と正確に一致しない場合があります。
    • 継続的なインデックス作成が進行中のリポジトリの数: コミットがまだ処理されているリポジトリの数を示します。 これらのリポジトリには、インデックス作成が完了するまで不完全な結果が表示されます。
    • インデックス作成ジョブの失敗の数: 失敗したインデックス作成ジョブの数を示します。 これらのインデックス作成ジョブに関連付けられているリポジトリでは、同じリポジトリの後のインデックス作成ジョブで失敗したインデックス作成にパッチが適用されるまで、不完全な結果が表示される可能性があります。
  1. 管理者特権でスクリプトをCheckIndexingStatus.ps1実行し、次の情報を入力します。

    • TFS 構成データベースが配置されている SQL Server インスタンス名
    • TFS コレクション データベース名前。
    • TFS 構成データベース名前。
    • コレクション名前。
    • インデックス作成の状態を確認する前の日数。
  2. 次の出力を確認します。

    • コレクションのインデックス作成が正常にトリガーされました: インデックス作成が進行中であることを示します。
    • [Repositories Indexing Completed]: インデックス作成が完了し、検索可能なリポジトリを一覧表示します。
    • ファイル検出フェーズのリポジトリ: ファイルがまだ検出されていないリポジトリ。 これらのファイルは、このステージの後にインデックスが作成されます。
    • リポジトリのインデックス作成中: 部分的にインデックスが作成され、結果が部分的な場合でも検索可能なリポジトリ。 インデックス作成が完了するまでに時間がかかる場合があります。
  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

Search の制限事項

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