1. インデキシング

Azure Cognitive Searchでのダウンタイムなしのインデックス再構築

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

注意

Azure Cognitive Searchは将来廃止され、Sitecoreは将来のリリースでこのサービスのサポートを提供しなくなります。

Azure Cognitive SearchのSwitch On Rebuild機能を使用して、Sitecore Searchインデックスの完全な再構築中に検索機能のダウンタイムを回避します。

メモ

スケーリングされた環境では、Sitecoreインスタンスは共有データベースに接続されている必要があります (例: core)。また、Sitecore.configで、defaultEventQueue属性の値を共有データベースに設定します。

Switch On Rebuild機能の制御

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

Switch On Rebuild機能は、次のインデックス構成設定で制御できます。

  • <setting name="ContentSearch.Azure.SwitchOnRebuild" value="true"/> インデックスの再構築中に検索機能のダウンタイムを回避するには、この設定を使用して、Azure SearchプロバイダーがSwitchOnRebuild機能を使用するかどうかを指定します。デフォルト値はtrueです。

  • <setting name="ContentSearch.Azure.SwitchOnRebuildCleanUpDelay" value="00:01:00"/> タイム バッファーを設定して、Sitecoreが古いインデックスを削除してから、新しく再構築されたインデックスを使用するようにすべてのロールが切り替えられるのを防ぐことができます。デフォルト値は00:01:00(1分) です。これは、SwitchOnRebuild 機能が有効になっている場合にのみ使用できます。

Switch On Rebuildプロセス

パワー ユーザーがSitecore Searchインデックスの完全な再構築を要求すると、次のプロセスが実行されます。

  • Sitecore Azure Searchプロバイダーは、完全な再構築操作の新しいインデックスを作成します。

  • Sitecoreは新しいインデックスにデータを書き込みますが、検索プロバイダーは引き続き古いインデックスを使用します。

  • 完全な再構築が完了すると、Sitecore Azure Searchプロバイダーは対応するリモート イベント (index:switchonrebuild) をすべてのロールに送信します。

  • 各ロールは、リモート 'index:switchonrebuild' イベントを処理し、新しく再構築されたインデックスを操作するように検索サービスを切り替えます。

  • SwitchOnRebuildCleanUpDelay 設定は、他のロールがリモートイベントを処理し、インデックスを切り替えるための遅延を制御します。

  • タイム バッファー遅延 (SwitchOnRebuildCleanUpDelay 設定で制御) が終了すると、再構築されたインデックスがプライマリ検索インデックスになると、Sitecoreは以前の検索インデックスを削除します。この遅延により、他のロールがリモート イベントを処理し、インデックスを切り替える時間を確保できます。

    手記

    すべてのインデックス更新操作は、再構築プロセス中に延期されます。

この記事を改善するための提案がある場合は、 お知らせください!