HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback


The Full-text Search Service applies to Optimizely Content Management System (CMS 11) and is not supported on Optimizely Digital Experience Platform (DXP) and other cloud service deployments. It is a legacy feature that will be removed in future versions. **This section is not supported for ASP.NET Core-based applications.**

The Search service is deployed through the NuGet package _EPiServer.Search_. You can install the package on an existing site (the service then runs inside the same application as the site), or you can install the package on an empty web project. The NuGet package updates the configuration file with default settings for the service.

The search integration with CMS is deployed through the NuGet package _EPiServer.Search.Cms_ and should always be installed in an CMS website; it contains the required funcionality to query the search service and to integrate with the user interface in CMS.


The _EPiServer.Search.Cms_ NuGet package was introduced in CMS 11; previously, this functionality was included in the core platform. This package is to be used when the basic search functionality is used.

### Client configuration (EPiServer.Search.Cms package)

Configure the search client on the website to use the service. Set the attribute baseUri attribute to the endpoint for the service. The following example shows a default configuration:

### Service configuration (EPiServer.Search package)

The default configuration allows local connections; that is, requests originated from the same server are allowed. If you deploy the Search service to another machine than the site, then the specify the `ipAddress` and `ip6Address` attributes  as follows:

You also can configure the service to accept requests from all IP addresses and use an access key instead; useful in cloud environments where IP addresses are not known. In that case, the client configuration on the site should specify an access key and a client configuration  with same name as the `accessKey` should exist on the service configuration, as shown in the following example:

Client configuration:

Server configuration:

## Deploy the site

When you deploy the site to production, update the baseUri to the production search service. When you deploy the Search service to production, you might need to update the allowed IP addresses if that configuration is used.

### Host the service in IIS

To host the service in IIS you need to enable the Windows feature **HTTP Activation** (on Windows server: typically **Roles and Features** > **.NET Framework 4/4.5 Featues** > **WCF Service**).

### Logging

The search indexing service uses the [Logging](🔗). Make sure there is a provider such as `EPiServer.Logging.Log4Net` installed to enable logging.