November Happy Hour will be moved to Thursday December 5th.

Loading...
Area: Optimizely Search & Navigation
ARCHIVED This content is retired and no longer maintained. See the latest version here.

Recommended reading 

Integration components

The integration components are:

  • IndexingModule. Hooks up events to handle indexing content (IContent objects).
  • Conventions applied to the SearchClient.Instance object exclude some properties of the IContent object and other EPiServer classes. The conventions also include additional fields. This is handled by the IndexingModule at startup using the CmsClientConventions class.
  • The ContentIndexer class which handles the indexing, re-indexing and removing content from the index. You can customize content to be indexed by modifying its conventions.
  • A scheduled job, Episerver Find CMS Indexing, handles the re-indexing of all content.
  • The GetContentResult extension method. Call to execute search requests and get actual IContent objects back.
  • Several additional filter methods, such as ContentReference, make it more convenient to filter on Episerver CMS types.

Setting up for development

The CMS integration assumes that each environment has its own Find index. It also assumes that content are added and removed through the CMS API. This means that:

  • Each developer should have their own development index unless they use a shared database.
  • Each server environment (test, staging etc) should have its own index unless they use a shared database.
  • If content are removed or added in other ways than through the CMS API (for instance using a database restore/rollback),  you should run the scheduled job for re-indexing.

If the above guidelines are not followed, the search and querying functionality may appear to work but produce unexpected results. For instance, the GetContentResult method returns less content than its TotalMatching property reports. This might happen if two developers use the same index, and one of them publishes a page that does not exist in the other developer's database.

Related topic

Do you find this information helpful? Please log in to provide feedback.

Last updated: Nov 16, 2015

Recommended reading