This content is archived. See latest version here.

Last updated: Apr 03 2014

Introduction

Sometimes it is necessary to index not only the saved/published page, but also pages related to it to preserve consistency in the index. One such case may be if we have indexed the child count for a page and want to have it updated whenever a child page is published.

Examples

To index related pages, we set the RelatedPages convention to return the parent page when indexing. This way the parent page will be reindexed and its child count updated.

C#
PageIndexer.Instance.Conventions
  .ForInstancesOf<PageData>()
  .RelatedPages(x =>
  {
    var relatedPages = new PageDataCollection();
    if (!(x.PageLink.CompareToIgnoreWorkID(PageReference.StartPage) || 
         x.PageLink.CompareToIgnoreWorkID(PageReference.RootPage)))
    {
      relatedPages.Add(DataFactory.Instance.GetPage(x.ParentLink));
    }
    return relatedPages;
  });

Note that this functionality is not related to finding pages with similar or related content. For such functionality, refer to the MoreLike method described in the Searching section of this documentation.

Comments