This content is archived. See latest version here.

Last updated: Nov 16 2015

Indexing related content

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.

Examples

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.

C#
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;
  });

Comments