HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In

Related content and dependencies

Explains how to index content items that are related, for example child content in a content structure, for a solution with Optimizely Search & Navigation and Optimizely Content Cloud (CMS).

📘

Note

This functionality is not related to finding similar or related content. For such functionality, use the MoreLike method, described in the Searching section.

Sometimes, to preserve consistency in the index, it is necessary to index not only saved/published content but also related content. For example, you indexed the child count for content and want it updated whenever "child content" is published.

To index related content, set the RelatedContent convention to return parent content when indexing. This way, parent content is reindexed and its child count is updated.

ContentIndexer.Instance.Conventions
  .ForInstancesOf<IContent>()
  .RelatedContent(x =>
  {
    var relatedContent = new List<IContent>();
    if (!(x.ContentLink.CompareToIgnoreWorkID(ContentReference.StartPage) || 
         x.ContentLink.CompareToIgnoreWorkID(Contentference.RootPage)))
      {
      relatedContent.Add(DataFactory.Instance.Get<IContent>(x.ParentLink));
      }
    return relatedContent;
  });