HomeDev GuideRecipesAPI Reference
Dev GuideAPI ReferenceUser GuideLegal TermsGitHubNuGetDev 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

AttributeTypeDefault ValueComment
activeboolRequired, no default valueIndicates whether the Client makes a request to the configured indexing service.The SearchHandler throws an exception if a request occurs.
dequeuePageSizeint50Page size to use when dequeueing queue items. How many items that fit into one feed.
dynamicDataStoreNamestringIndexRequestQueueDataStoreName of the Dynamic Data Store used by the FTS client.
htmlStripDisplayTextbooltrueIndicates whether the DisplayText field is stripped of HTML tags.
htmlStripMetadatabooltrueIndicates whether the MetaData field is stripped of HTML tags.
htmlStripTitlebooltrueIndicates whether the Title field is stripped of HTML tags.
indexingServiceFieldNameAclstringEPISERVER_SEARCH_ACLName for the ACL field in the indexing service.
indexingServiceFieldNameAuthorstringEPISERVER_SEARCH_AUTHORSName for the Authors field in the indexing service.
indexingServiceFieldNameCategoriesstringEPISERVER_SEARCH_CATEGORIESName for the Categories field in the indexing service.
indexingServiceFieldNameCreatedstringEPISERVER_SEARCH_CREATEDName for the Created field in the indexing service.
indexingServiceFieldNameCulturestringEPISERVER_SEARCH_CULTUREName for the Culture field in the indexing service.
indexingServiceFieldNameDefaultstringEPISERVER_SEARCH_DEFAULTName for the default searchable content field in the indexing service.
indexingServiceFieldNameDisplayTextstringEPISERVER_SEARCH_DISPLAYTEXTName for the DisplayText field in the indexing service.
indexingServiceFieldNameIdstringEPISERVER_SEARCH_IDName for the Id field in the indexing service.
indexingServiceFieldNameItemStatusstringEPISERVER_SEARCH_ITEMSTATUSName for the indexing service field name ItemStatus.
indexingServiceFieldNameModifiedstringEPISERVER_SEARCH_MODIFIEDName for the Modified field in the indexing service.
indexingServiceFieldNameTitlestringEPISERVER_SEARCH_TITLEName for the Title field in the indexing service.
indexingServiceFieldNameTypestringEPISERVER_SEARCH_TYPEName for the Type field in the indexing service.
indexingServiceFieldNameVirtualPathstringEPISERVER_SEARCH_VIRTUALPATHName for the VirtualPath field in the indexing service.
maxHitsFromIndexingServiceint500Number of total hits to be returned by the indexing service for each search result request.
namedIndexesUriTemplatestring/namedindexes/
?accesskey={accesskey}
Template to use when getting the configured named indexes for the index. Items within {} are replaced during the request.
queueFlushIntervalint30Interval (in seconds) to flush the queue. Overrides the queuelimit.
resetHttpMethodstringPOSTHTTP method for Reset index requests to the indexing service.
resetUriTemplatestring/reset/
?namedindex={namedindex}
&accesskey={accesskey}
Template to use when resetting the index. Items within {} are replaced during the request.
queueLimitint10Number of items allowed in the queue before flushing the queue and sending the request feed to the indexing service.
removeProcessedQueueItemsbooltrueIndicates whether the items in the queue are removed after they are sent to indexing service.
resetUriTemplatestring/reset/
?namedindex={namedindex}
&accesskey={accesskey}
Template to use when resetting the index. Items within {} are replaced during the request.
searchUriTemplatestring/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}.
syndicationFeedAttributeNameTotalHitsstringTotalHitsName of the attribute extension TotalHits which is added to the feed for the IndexResponseItem.
syndicationFeedAttributeNameVersionstringVersionName for the syndication feed attribute extension Version.
syndicationItemAttributeNameAutoUpdateVirtualPathstringAutoUpdateVirtualPathName of the attribute extension AutoUpdateVirtualPath which is added to the IndexRequestItem.
syndicationItemAttributeNameBoostFactorstringBoostFactorName of the attribute extension BoostFactor which is added to the IndexItemBase.
syndicationItemAttributeNameCulturestringCultureName of the attribute extension Culture which is added to the IndexItemBase.
syndicationItemAttributeNameDataUristringDataUriName of the attribute extension DataUri which is added to the IndexItemBase.
syndicationItemAttributeNameIndexActionstringIndexActionName of the attribute extension IndexAction which is added to the IndexRequestItem.
syndicationItemAttributeNameItemStatusstringItemStatusName for the syndication item attribute extension ItemStatus.
syndicationItemAttributeNameNamedIndexstringNamedIndexName of the attribute extension NamedIndex which is added to the IndexItemBase.
syndicationItemAttributeNamePublicationEndstringPublicationEndName for the syndication feed item attribute extension PublicationEnd.
syndicationItemAttributeNamePublicationStartstringPublicationStartName for the syndication feed item attribute extension PublicationStart.
syndicationItemAttributeNameReferenceIdstringReferenceIdName of the attribute extension ReferenceId which is added to the IndexItemBase.
syndicationItemAttributeNameScorestringScoreName of the attribute extension Score which is added to the IndexResponseItem.
syndicationItemAttributeNameTypestringTypeName of the attribute extension Type which is added to the IndexItemBase.
syndicationItemAttributeNameVersionstringVersionName of the attribute extension Version which is added to the IndexItemBase.
syndicationItemElementNameAclstringACLName of the attribute extension ACL which is added to the IndexItemBase.
syndicationItemElementNameMetaDatastringMetadataName of the attribute extension MetaData which is added to the IndexItemBase.
syndicationItemElementNameVirtualPathstringVirtualPathName of the attribute extension VirtualPath which is added to the IndexItemBase.
updateUriTemplatestring/update/
?accesskey={accesskey}
Template to use when updating the index. Items within {} are replaced during the request.
useIndexingServicePagingbooltrueIndicates 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.
xmlQualifiedNamespacestringEPiServer.Search.IndexingServiceNamespace 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.