Configuring EPiServer Full-Text Search Client
Introduction
This document describes how to configure EPiServer Full-Text Search Client (FTS Client). Configuration for the FTS Client is found in the EPiServer.Search section in the web.config and is accessible via the EPiServer.Search.SearchSettings.Config property. Most of the values have defaults and are not required. Below are tables for section and element names and their defaults.
SearchSection
Attribute | Type | Default Value | Comment |
---|---|---|---|
active | bool | Required, no default value | Indicates whether the Client should make request to the configured indexing service at all.The SearchHandler will throw an exception if any attempt is made to do this. |
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 should be stripped of Html tags. |
htmlStripMetadata | bool | true | Indicates whether the MetaData field should be stripped of Html tags. |
htmlStripTitle | bool | true | Indicates whether the Title field should be 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 {} will be replaced during the request. |
queueFlushInterval | int | 30 | Interval in seconds when the queue should be flushed. 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 {} will be replaced during the request. |
queueLimit | int | 10 | Number of items allowed in the queue before the queue should be flushed and the request feed should be sent to the indexing service. |
removeProcessedQueueItems | bool | true | Indicates whether the items in the queue should be removed after they have been successfully sent to indexing service. |
resetUriTemplate | string |
/reset/ ?namedindex={namedindex} &accesskey={accesskey} |
Template to use when resetting the index. Items within {} will be 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 {} will be replaced during the request. |
useIndexingServicePaging | bool | true | Indicates whether the indexing service is supposed to return paged result sets. Note that this should be set to false if any client filter is plugged in. If this is set to false, maximum items will be returned from indexing service and the paging will be done 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 searchResultsFilterelement is nested within the EPiServer.Search section. The element itself only has one attribute but it also may contain a collection of providers that can be used to customize filtering of search results. Adding providers to the providers collection is done using the standard ASP.NET provider syntax.
Attribute | Type | Default Value | Comment |
---|---|---|---|
defaultInclude | bool | false | Indicates whether unhandled IndexResponseItems should be default included in the search results. |
Element | Type | Comment |
---|---|---|
providers | ProviderSettingsCollection | Collection of SearchResultFilterProviders to be used 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. The current service can be passed as Name when updating or searching the index. |
NamedIndexingService element
ThenamedIndexingService 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. This key should also be configured on the service side. |
baseUri | Uri | Required, no default value | Base URI for this named indexing service. |
certificateAllowUntrusted | bool | false | Indicates whether the client should accept communication with a FTS service that uses an untrusted SLL certificate. |
name | Name |
Requiredkey attribute, no default value |
Name of the indexing service. |
Element | Type | Comment |
---|---|---|
certificate | CertificateReferenceElement | Settings for certificate validation when connecting to the service. |
See also
- The Search section in the EPiServer Framework SDK
- The Search section in the EPiServer CMS SDK
- The Search section in the EPiServer Commerce SDK
Last updated: Feb 23, 2015