インデックスに依存する HTML キャッシュ
Current version: 10.1
いくつかのインデックス更新戦略は、パブリッシュが完了した時点、または所定の時間が経過した時点で呼び出されるように設計されています。使用する Sitecore インスタンスが、コードを含むレンダリング、コントロール、またはサブレイアウトに HTML キャッシュを使用し、このコードがインデックスに依存している場合、HTML キャッシュのクリアとインデックスの更新操作の間で競合状態が発生する可能性があります。
この問題を解決するには、このようなレンダリング、コントロール、サブレイアウトに対し、Cacheable
および Clear on Index Update
を選択します。
この方法は、レンダリング定義アイテム、または特定のコンテンツ アイテムのレイアウト詳細に対し、Vary by
を設定する場合と同様の方法で設定できます。
Clear on Index Update
を選択すると、Sitecore は IndexDependentCacheManager コンポーネントを使用して、インデックスの更新時にレンダリングの HTML キャッシュをクリアします。このコンポーネントの実行は、Sitecore.ContentSearch.config
ファイルの indexing:end
および indexing:end:remote
イベントによってトリガーされます。
RequestResponseshell
<event name="indexing:end">
<handler type="Sitecore.ContentSearch.Maintenance.
IndexDependentHtmlCacheManager, Sitecore.ContentSearch" method="Clear" />
</event>
<event name="indexing:end:remote">
<handler type="Sitecore.ContentSearch.Maintenance.
IndexDependentHtmlCacheManager, Sitecore.ContentSearch" method="Clear" />
</event>