OnPublishEndAsyncインデックス更新戦略の問題について


説明

OnPublishEndAsync戦略を使用し、検索インデックスを更新する際、次の問題が発生する可能性があります。

問題1

備考:この問題は、Sitecore CMS 7.2 Update-5 (rev. 140408)XP 8.0 Update-6 (rev. 151127)および8.1 Update-1 (rev. 151207)で修正されました。

パブリッシュ後、使われなくなったアイテムが検索インデックスに残される可能性があります。これによって、検索インデックスと実際のWebサイトのコンテンツが同期されなくなる場合があります。

問題2

備考:この問題は、Sitecore XPバージョン8.2 Initial Release (rev. 160729)で修正されました。

Sitecore XPバージョン8.0 Update-3(rev.150427)以降を使用する際、インデックス更新処理がまれに以下のエラーで失敗する可能性があります。

ERROR An item with the same key has already been added.
Exception: System.ArgumentException
Message: An item with the same key has already been added.
Source: mscorlib
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at Sitecore.ContentSearch.Maintenance.Strategies.OnPublishEndAsynchronousStrategy.ProcessQueue(IEnumerable`1 queue, Action`2 addElement)
   at Sitecore.ContentSearch.Maintenance.Strategies.OnPublishEndAsynchronousStrategy.ExtractIndexableInfoFromQueue(List`1 queue)
   at Sitecore.ContentSearch.Maintenance.Strategies.OnPublishEndAsynchronousStrategy.Run()
   at Sitecore.ContentSearch.Maintenance.OperationMonitor.ExecuteAction()

解決策

Sitecore CMSバージョン7.2 Update-4 (rev. 150408)向け:

この問題(問題1)を解決するには、以下のパッチを適用してください:

  1. Sitecore.Support.440383.dll アセンブリを\binフォルダに配置します。
  2. Sitecore.Support.440383.configファイルを\App_Config\Includeフォルダに配置します。

Sitecore XPバージョン8.0 Update-3 (rev. 150427) — バージョン8.0 Update-5 (rev. 150812)向け:

この問題(問題2)を解決するには、以下のパッチを適用してください:

  1. Sitecore.Support.440383.449997.dllアセンブリを\binフォルダに配置します。
  2. Sitecore.Support.440383.449997.configファイルを\App_Config\Includeフォルダに配置します。

Sitecore XPバージョン8.0 Update-6 (rev. 151127)またはそれ以降のバージョンの場合:Sitecoreサポートにお問い合わせください。 

備考:提供された設定ファイルは、デフォルトのonPublishEndAsync戦略の定義にパッチを適用します。onPublishEndAsyncに基づいたカスタムの戦略がある場合、これらのファイルを適切に調整してください。