Avoid Deep Indexing of ContentAreas Unless Necessary
In a typical Episerver CMS implementation, it’s common to encounter deeply nested structures — ContentAreas containing Blocks, which themselves contain more ContentAreas and Blocks, potentially going multiple levels deep.
The Problem with Deep Nesting in Indexing
By default, when indexing ContentAreas, there’s no sensible maximum nesting depth enforced. Only the default JSON serialization max depth at 25.This can lead to:
-
Increased strain on the search service
-
Longer indexing times
-
Larger mapping sizes
-
Degraded query performance
If you don’t specifically need to filter or retrieve deeply nested content, it’s a good idea to limit how deep the indexing goes.
How to Limit ContentArea Depth
This can be controlled using the MaxDepthContentAreaConverter. You can configure the maximum depth by adding the following code to your initialization module:
This example limits the indexing depth to 1 level, but you can adjust the value based on your needs.
This information is also available in our documentation:
https://world.optimizely.com/documentation/Items/Developers-Guide/EPiServer-Find/11/Integration/episerver-77-5-cms/Indexing-content-in-a-content-area/
Important Note on SearchText
Keep in mind, this setting only affects the serialization depth of ContentAreas for indexing purposes. It does not impact the maximum depth used by SearchText, which is responsible for collecting, concatenating, and indexing textual content within ContentAreas and their nested items. Meaning the content in your ContentArea will still be searchable.
Comments