Disclaimer: This website requires Please enable JavaScript in your browser settings for the best experience.

Dev GuideRecipesAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Configure full-text search client

Describes how to set up full-text search client.

📘

Note

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 Optimizely full-text search client (FTS Client) configuration is in the EPiServer.Search section of web.config and is accessible through the EPiServer.Search.SearchSettings.Config property. Most of the values have defaults and are not required. The following tables show section and element names and their defaults.

SearchSection

Attribute

Type

Default Value

Comment

active

bool

Required, no default value

Indicates whether the Client makes a request to the configured indexing service.The SearchHandler throws an exception if a request occurs.

dequeuePageSize

int

50

Page size to use when dequeueing queue items. How many items that fit into one feed.

dynamicDataStoreName

string

IndexRequestQueueDataStore

Name of the Dynamic Data Store used by the FTS client.

htmlStripDisplayText

bool

true

Indicates whether the DisplayText field is stripped of HTML tags.

htmlStripMetadata

bool

true

Indicates whether the MetaData field is stripped of HTML tags.

htmlStripTitle

bool

true

Indicates whether the Title field is stripped of HTML tags.

indexingServiceFieldNameAcl

string

EPISERVER_SEARCH_ACL

Name for the ACL field in the indexing service.

indexingServiceFieldNameAuthor

string

EPISERVER_SEARCH_AUTHORS

Name for the Authors field in the indexing service.

indexingServiceFieldNameCategories

string

EPISERVER_SEARCH_CATEGORIES

Name for the Categories field in the indexing service.

indexingServiceFieldNameCreated

string

EPISERVER_SEARCH_CREATED

Name for the Created field in the indexing service.

indexingServiceFieldNameCulture

string

EPISERVER_SEARCH_CULTURE

Name for the Culture field in the indexing service.

indexingServiceFieldNameDefault

string

EPISERVER_SEARCH_DEFAULT

Name for the default searchable content field in the indexing service.

indexingServiceFieldNameDisplayText

string

EPISERVER_SEARCH_DISPLAYTEXT

Name for the DisplayText field in the indexing service.

indexingServiceFieldNameId

string

EPISERVER_SEARCH_ID

Name for the Id field in the indexing service.

indexingServiceFieldNameItemStatus

string

EPISERVER_SEARCH_ITEMSTATUS

Name for the indexing service field name ItemStatus.

indexingServiceFieldNameModified

string

EPISERVER_SEARCH_MODIFIED

Name for the Modified field in the indexing service.

indexingServiceFieldNameTitle

string

EPISERVER_SEARCH_TITLE

Name for the Title field in the indexing service.

indexingServiceFieldNameType

string

EPISERVER_SEARCH_TYPE

Name for the Type field in the indexing service.

indexingServiceFieldNameVirtualPath

string

EPISERVER_SEARCH_VIRTUALPATH

Name for the VirtualPath field in the indexing service.

maxHitsFromIndexingService

int

500

Number of total hits to be returned by the indexing service for each search result request.

namedIndexesUriTemplate

string

/namedindexes/
?accesskey={accesskey}

Template to use when getting the configured named indexes for the index. Items within {} are replaced during the request.

queueFlushInterval

int

30

Interval (in seconds) to flush the queue. Overrides the queuelimit.

resetHttpMethod

string

POST

HTTP method for Reset index requests to the indexing service.

resetUriTemplate

string

/reset/
?namedindex={namedindex}
&accesskey={accesskey}

Template to use when resetting the index. Items within {} are replaced during the request.

queueLimit

int

10

Number of items allowed in the queue before flushing the queue and sending the request feed to the indexing service.

removeProcessedQueueItems

bool

true

Indicates whether the items in the queue are removed after they are sent to indexing service.

resetUriTemplate

string

/reset/
?namedindex={namedindex}
&accesskey={accesskey}

Template to use when resetting the index. Items within {} are replaced during the request.

searchUriTemplate

string

/search/
?q={q}
&namedindexes={namedindexes}
&offset={offset}
&limit={limit}
&format=xml
&accesskey={accesskey}

Template for search requests to the indexing service. The Http method is always GET.
Required replaceables: {q}, {namedIndexes}.

syndicationFeedAttributeNameTotalHits

string

TotalHits

Name of the attribute extension TotalHits which is added to the feed for the IndexResponseItem.

syndicationFeedAttributeNameVersion

string

Version

Name for the syndication feed attribute extension Version.

syndicationItemAttributeNameAutoUpdateVirtualPath

string

AutoUpdateVirtualPath

Name of the attribute extension AutoUpdateVirtualPath which is added to the IndexRequestItem.

syndicationItemAttributeNameBoostFactor

string

BoostFactor

Name of the attribute extension BoostFactor which is added to the IndexItemBase.

syndicationItemAttributeNameCulture

string

Culture

Name of the attribute extension Culture which is added to the IndexItemBase.

syndicationItemAttributeNameDataUri

string

DataUri

Name of the attribute extension DataUri which is added to the IndexItemBase.

syndicationItemAttributeNameIndexAction

string

IndexAction

Name of the attribute extension IndexAction which is added to the IndexRequestItem.

syndicationItemAttributeNameItemStatus

string

ItemStatus

Name for the syndication item attribute extension ItemStatus.

syndicationItemAttributeNameNamedIndex

string

NamedIndex

Name of the attribute extension NamedIndex which is added to the IndexItemBase.

syndicationItemAttributeNamePublicationEnd

string

PublicationEnd

Name for the syndication feed item attribute extension PublicationEnd.

syndicationItemAttributeNamePublicationStart

string

PublicationStart

Name for the syndication feed item attribute extension PublicationStart.

syndicationItemAttributeNameReferenceId

string

ReferenceId

Name of the attribute extension ReferenceId which is added to the IndexItemBase.

syndicationItemAttributeNameScore

string

Score

Name of the attribute extension Score which is added to the IndexResponseItem.

syndicationItemAttributeNameType

string

Type

Name of the attribute extension Type which is added to the IndexItemBase.

syndicationItemAttributeNameVersion

string

Version

Name of the attribute extension Version which is added to the IndexItemBase.

syndicationItemElementNameAcl

string

ACL

Name of the attribute extension ACL which is added to the IndexItemBase.

syndicationItemElementNameMetaData

string

Metadata

Name of the attribute extension MetaData which is added to the IndexItemBase.

syndicationItemElementNameVirtualPath

string

VirtualPath

Name of the attribute extension VirtualPath which is added to the IndexItemBase.

updateUriTemplate

string

/update/
?accesskey={accesskey}

Template to use when updating the index. Items within {} are replaced during the request.

useIndexingServicePaging

bool

true

Indicates whether the indexing service is supposed to return paged result sets. Set this to false if any client filter is plugged in so that maximum items are returned from indexing service and the paging occurs client-side on filtered results.

xmlQualifiedNamespace

string

EPiServer.Search.IndexingService

Namespace to use for the feeds and the feed items.

ElementTypeComment
namedIndexingServicesNamedIndexingServicesElementNamed indexing services element that configures the available service endpoints.
searchResultFilterSearchResultFilterElementSearch result filter element that configures the filter provider to use after retrieving search results from service

SearchResultFilter element

The SearchResultsFilter element is nested within the EPiServer.Search section. The element has only one attribute but may contain a collection of providers to customize the filtering of search results. Add providers to the providers collection using the standard ASP.NET provider syntax.

AttributeTypeDefault ValueComment
defaultIncludeboolfalseIndicates whether unhandled IndexResponseItems are in the search results by default.
ElementTypeComment
providersProviderSettingsCollectionCollection of SearchResultFilterProviders for filtering search results.

NamedIndexingServices element

The namedIndexingServices element is nested within the EPiServer.Search section. The element itself only has one attribute but must also contain a collection of namedIndexingService elements with at least one entry.

AttributeTypeDefault ValueComment
defaultServicestringRequired, no default value.Name of the default service to use.
ElementTypeComment
servicesNamedIndexingServiceCollectionContains the available services. When updating or searching the index, you can pass the current service as Name.

NamedIndexingService element

The namedIndexingService element contains the information the FTS client needs to call a specific FTS service.

AttributeTypeDefault ValueComment
accessKeystringRequired, no default valueAccess key for this named indexing service. Configure this key on the service side.
baseUriUriRequired, no default valueBase URI for this named indexing service.
certificateAllowUntrustedboolfalseIndicates whether the client accepts communication with a FTS service that uses an untrusted SLL certificate.
nameNameRequiredkey attribute,
no default value
Name of the indexing service.
ElementTypeComment
certificateCertificateReferenceElementSettings for certificate validation when connecting to the service.