各アイテムの更新後に、完全な検索インデックスの再構築が開始される場合がある


症状

OnPublishEndAsynchronous またはIntervalAsynchronous 戦略を使用して検索インデックスを更新すると、コンテンツ アイテムが更新されるたびに、インデックスが完全に再構築される場合があります。これにより、サイトのパフォーマンスが低下し、CPUの負荷が高くなり、メモリの使用量が多くなる可能性があります。

問題が発生すると、次のメッセージがログに記録される場合があります:

WARN  [Index=sitecore_web_index] The number of changes exceeded maximum threshold of '100000'.
WARN IndexCustodian. FullRebuild triggered on index sitecore_web_index

この問題は、最後のインデックス更新のタイムスタンプが正しく解決されなかったために、インデックス戦略がEventQueue テーブルとHistory テーブルから多数のレコードを読み取ることが原因で発生します。これが発生すると、再度インデックス作成が必要なアイテムが多数あると想定されるため、完全なインデックスの再構築がトリガーされます。

多くの場合、この問題はアップグレードまたは大規模なコンテンツの移行プロセスが原因で発生します。これは、コンテンツを大量に変更する操作によって、EventQueueテーブルとHistoryテーブルがいっぱいになり、問題が発生するためです。

解決策

Sitecore CMS 7.2 Initial Release ~ Sitecore CMS 7.2 Update-3 および
Sitecore XP 7.5 Initial Release ~ Sitecore XP 7.5 Update-2の場合:

  1. Sitecore.Support.442487.dll アセンブリをwebサイトの\bin ディレクトリにコピーします。
  2. Sitecore.Support.442487.config ファイルをwebサイトの\App_Config\Include ディレクトリにコピーします。

Sitecore CMS 7.2 Update-4の場合:

  1. Sitecore.Support.442487.dll アセンブリをwebサイトの\bin ディレクトリにコピーします。
  2. Sitecore.Support.442487.config ファイルをwebサイトの\App_Config\Include ディレクトリにコピーします。

Sitecore XP 8.0 Initial Release ~ Sitecore XP 8.0 Update-2の場合:

  1. 次のリンク先からの解決策を適用します: Sitecore.Support.442487

Sitecore XP 8.0 Update-3 ~ Sitecore XP 8.0 Update-5の場合:

  1. Sitecore.Support.442487.dll アセンブリをwebサイトの\bin ディレクトリにコピーします。
  2. Sitecore.Support.442487.config ファイルをwebサイトの\App_Config\Include ディレクトリにコピーします。