HomeDev guideRecipesAPI Reference
Dev guideUser GuidesLegal TermsNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev guide

Search & Navigation integration packages

Describes integration packages for other parts of the Optimizely platform.

The Optimizely Search & Navigation integration builds on a .NET-based client API, adding functionality for automatically indexing objects and methods for filtering, retrieving, and caching results.

📘

CMS 12 and Commerce Connect 14

See Install Optimizely (ASP.NET Core).

Integration components, including the .NET API, are installed as NuGet packages and are available in the Optimizely NuGet feed; see Install Optimizely updates (CMS 11 and Commerce Connect 13).

The following packages are used for Search & Navigation-specific integrations:

  • Episerver.Find.Cms – Integration of Find REST API with Optimizely Content Management System (CMS).
  • EPiServer.Find – The .NET client API for the Find REST API (installed with EPiServer.Find.Cms).
  • EPiServer.Find.Framework – General integration components for the Find REST API (installed with EPiServer.Find.Cms).
  • EPiServer.Find.Cms.AttachmentFilter – File type parser for CMS attachments.
  • EPiServer.Commerce.FindSearchProvider – Integration components for Optimizely Commerce Connect (v13).
  • EPiServer.Find.Commerce – Integration components for Optimizely Commerce Connect (v13).
  • EPiServer.Find.Personalization – Integration components for Personalized Search & Navigation.

Reference the assemblies needed in your project, and add the standard configuration for the .NET API to web.config.

📘

Note

If you installed Optimizely Search & Navigation with a sample site through the Visual Studio extensions, the integration with CMS is automatically set up.

SearchClient.Instance

When working with the general .NET API, you typically create an instance of the IClient class using the Client.CreateFromConfig method. Following the general development pattern, the Optimizely integration provides a singleton instance in the form of the SearchClient class and its Instance property. The returned instance is a regular IClient, but some modifications are made to it at start-up. In other words, when working with CMS and Search & Navigation, be sure to use SearchClient.Instance.

📘

Note

Differences between the authentication mechanism of EPiServer.ServiceAPI and EPiServer.Find may lead to the incorrect functioning of user authentication. To avoid these problems, it is recommended to install EPiServer.ServiceAPI in a separate application.