---
title: "Azure Searchでのゼロダウンタイムインデックス再建"
slug: "zero-downtime-index-rebuild-in-azure-search"
abstract: ""
---
# Azure Searchでのゼロダウンタイムインデックス再建

> !重要Azure Searchは将来的に廃止され、今後Sitecoreこのサービスのサポートは行いません。

Sitecore Searchインデックスの完全な再構築時に機能停止を避けSearch、Azure Search Switch On Rebuild機能を使用してください。

> !注SwitchOnRebuild機能は、スケールド環境においてすべてのSitecoreインスタンスがシステムのEventQueueテーブルへのアクセスを共有する必要があります。詳細については、「 [EventQueue、Properties、Tasksの各テーブルについてはSitecoreの役割構成](https://doc.sitecore.com/xp/ja/developers/101/platform-administration-and-architecture/configure-sitecore-roles-for-separate-eventqueue,-properties,-and-tasks-tables.html "Configure Sitecore roles for separate EventQueue, Properties, and Tasks tables")」を参照してください。

## スイッチオンリビルド機能の操作

完全なインデックス再構築は別の再構築インデックスで実行されます。再構築操作が完了すると、SitecoreはSearchサービスを切り替え、新たに再構築されたインデックスを主要な検索インデックスとして使用します。その後、Sitecoreは以前のSearchインデックスを削除します。

Switch On Rebuild機能は以下のインデックス設定で操作できます:

-   <setting name="ContentSearch.Azure.SwitchOnRebuild" value="true"/> インデックス再構築中のSearch機能のダウンタイムを避けるために、この設定を使ってAzure SearchプロバイダーがSwitchOnRebuild機能を使用しているかどうかを指定します。デフォルト値はtrueです。
-   <setting name="ContentSearch.Azure.SwitchOnRebuildCleanUpDelay" value="00:01:00"/> すべての役割が新たに再構築されたインデックスで動作する前に、古いインデックスを削除しないようにタイムバッファを設定することができますSitecore。デフォルト値は00:01:00(1分)です。これはSwitchOnRebuild 機能が有効である場合にのみ使用できます。

## スイッチオン再建プロセス

パワーユーザーがSitecore Searchインデックスの完全な再構築を要請した後、以下のプロセスが行われます:

-   Sitecore Azure Searchプロバイダーは、完全な再構築操作のために新しいsitecore-master-indexを作成・入力し、これがプライマリインデックスとして使用されます。
    
-   Sitecoreが新しいインデックスにデータを書き込みますが、検索プロバイダーは引き続き古いインデックスを使用します。
    
-   完全な再構築が完了すると、Sitecore Azure Searchプロバイダーは対応するリモートイベント(index:switchonrebuild)をすべての役割に送信します。
    
-   各役割はリモート 'index:switchonrebuild' イベントを処理し、新たに構築されたインデックスに対応するために検索サービスを切り替えます。
    
-   SwitchOnRebuildCleanUpDelay 設定は、他のロールがリモートイベントやスイッチインデックスを処理するための遅延を制御します。
    
-   タイムバッファの遅延が切れ(SwitchOnRebuildCleanUpDelay 設定で制御)、再構築されたインデックスがプライマリ検索インデックスになると、Sitecore前の検索インデックスを削除します。この遅延により、他の役割はリモートイベントを処理しインデックスを切り替える時間を与えます。
    
    > !注再構築がスケジュールされると、Sitecore Azure Searchプロバイダーはsitecore-master-index-xxxという二次インデックスを作成します。再インデックスが完了すると、sitecore-master-index-xxxが *プライマリ* となり、数分後にsitecore-master-indexが削除されます(これはContentSearch.Azure.SwitchOnRebuildCleanUpDelay設定ファイルで確認できます)。
    > 
    > すべてのインデックス更新操作は再構築プロセス中に延期されます。