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/ <br>?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/ <br>?namedindex={namedindex} <br>&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/ <br>?namedindex={namedindex} <br>&accesskey={accesskey} | Template to use when resetting the index. Items within {} are replaced during the request. |
searchUriTemplate | string | /search/ <br>?q={q} <br>&namedindexes={namedindexes} <br>&offset={offset} <br>&limit={limit} <br>&format=xml <br>&accesskey={accesskey} | Template for search requests to the indexing service. The Http method is always **GET**. <br>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/ <br>?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. |
Element | Type | Comment |
namedIndexingServices | NamedIndexingServicesElement | Named indexing services element that configures the available service endpoints. |
searchResultFilter | SearchResultFilterElement | Search result filter element that configures the filter provider to use after retreiving search results from service |
## SearchResultFilter element
The `SearchResultsFilter
`Â element is nested within the **EPiServer.Search** section. The element itself only has one attribute but it also may contain a collection of providers to customize filtering of search results. Add providers to the `providers
` collection using the standard ASP.NET provider syntax.
Attribute | Type | Default Value | Comment |
defaultInclude | bool | false | Indicates whether unhandled **IndexResponseItems** are included by default in the search results. |
Element | Type | Comment |
providers | ProviderSettingsCollection | Collection 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.
Attribute | Type | Default Value | Comment |
defaultService | string | Required, no default value. | Name of the default service to use. |
Element | Type | Comment |
services | NamedIndexingServiceCollection | Contains the available services. You can pass the current service as **Name** when updating or searching the index. |
## NamedIndexingService element
The `namedIndexingService
` element contains the information the FTS client needs to call a specific FTS service.
Attribute | Type | Default Value | Comment |
accessKey | string | Required, no default value | Access key for this named indexing service. Configure this key on the service side. |
baseUri | Uri | Required, no default value | Base URI for this named indexing service. |
certificateAllowUntrusted | bool | false | Indicates whether the client accepts communication with a FTS service that uses an untrusted SLL certificate. |
name | Name | Required**key attribute**, <br>no default value | Name of the indexing service. |
Element | Type | Comment |
certificate | [CertificateReferenceElement](🔗) | Settings for certificate validation when connecting to the service. |