Skip to end of metadata
Go to start of metadata
In this topic:

 

The Coveo Search Provider settings are located in the Coveo.SearchProvider.config file, which is located under App_Config\Include\Coveo. This page describes its various sections and settings.

To avoid modifying the original file, you should configure the Coveo Search Provider by modifying the Coveo.SearchProvider.Custom.config file, which is located in the same folder.

Basic Configuration Settings

Those are the basic settings that may be configured initially. They can be found under the configuration/sitecore/coveo/defaultIndexConfiguration element.

NameDescriptionExample value

On-Premises only

adminServiceUri

The Admin Service URI.http://localhost/AdminService

allowQueriesFromQuickView

Whether to allow search queries to be sent in the context of a Coveo quick view. The element is under the queryConfiguration section.

Setting the value to false blocks the search query, but only when Coveo for Sitecore is visiting the item to fill the quick view. The search query is still performed for any other visitor.

The default value is false.

true/false

On-Premises only

collectionName

The name of the collection in CES.Sitecore Search Provider

defaultFacetOptions

Allows the specification of settings to apply on facets when performing a LINQ query (FacetOn function). The values are per facet field. The element is under queryConfiguration.

  • fieldName: Specifies the Sitecore field on which the setting is applied. This attribute is mandatory.
  • injectionDepth: Specifies the injection depth value for this specific field.
    When omitted, the value of defaultInjectionDepth is used.
  • numberOfValues: Specifies the number of values to retrieve for this specific field.
    When omitted, the value of defaultNumberOfFacetValues is used.

defaultInjectionDepth

The default injection depth value to apply on facets when performing a LINQ query (FacetOn function). The element is under queryConfiguration.1000
defaultNumberOfFacetValuesThe default number of facet values that are returned when performing a LINQ query (FacetOn function). The element is under queryConfiguration.16
defaultNumberOfResultsThe default number of results that are returned when performing a LINQ query (see Retrieving Large Sets of Items Using LINQ). The element is under queryConfiguration.10
enableSitecoreBoostingWhether Sitecore boosting is supported in queries or not.true/false

On-Premises only

encryptDataOnQueue

Whether to encrypt data sent to the indexing queue.true/false
farmName

The name of the Sitecore farm. Specifying a value in this setting will affect the names of the sources, fieldsets, security provider, and user identity.

For example, setting the farm name to dev would generate the following resource names:

  • Source: Coveo_master_index - dev
  • Fieldset: Fieldset for Coveo_master_index - dev
  • Security provider: Sitecore Security Provider for dev
  • User identity: Sitecore Admin for dev

When this setting is not specified, the farm name corresponds to the instance name which is, by default, composed of the machine name and the IIS website name (e.g. MyMachine - SiteName).

dev, staging, production
fieldsBatchSizeThe number of fields to send in a single batch to the Admin Service.250

forceDeleteExcludedItems

Whether to force a delete on excluded items.

Icon

By design, Coveo for Sitecore does not make calls to delete items excluded by a filter subsequently to their indexing. You can enable this option if you want to force the deletion of these items.

Do not forget to disable it once you are done to avoid allocating resources to this process when it is unnecessary.

true/false
indexAllFieldsWhether to index all Sitecore fields. If set to false, every needed field must be specified in the config file.true/false
indexAnalyticsFieldsWhether to index fields needed for Analytics, such as the  _tracking field.true/false
indexCommunicationFactoryThe factory used to instantiate objects required to communicate with the index. 
indexCoveoFieldsWhether to index Coveo fields on documents. These fields are system fields that are not starting with an underscore (_), such as templatename.true/false
indexReferrerItemsOnUpdateWhether referrer items are re-indexed on an item update.true/false

Cloud only

maximumAge

Defines the delay that query results are cached before being refreshed by a new query on the index. This element is under the queryConfiguration section.00:15:00
multipleValueSeparator

The separator used for fields that contain multiple values. For example, a field could contain a series of GUIDs.

Note:

Icon

This must match what is set on the side of the Coveo platform.

;

On-Premises only

password

The Admin Service password.

Icon

When you set this password using the Configuration Wizard, it is stored in its encrypted form in the configuration file. You can also set it manually by editing the configuration file and entering the password as clear text. Be aware that, once you do that, it will stay unencrypted.


 

Cloud only

pushPermissionsOnRebuild

Whether to send the Sitecore users and roles to Coveo Cloud on each index rebuild.true/false

On-Premises only

queuePassword

The RabbitMQ password.

Icon

When you set this password using the Configuration Wizard, it is stored in its encrypted form in the configuration file. You can also set it manually by editing the configuration file and entering the password as clear text. Be aware that, once you do that, it will stay unencrypted.

guest

On-Premises only

queueUri

The RabbitMQ URI.

Icon

The URI may contain credentials (e.g.: amqp://username:password@localhost:5682/). When it contains credentials, the QueueUsername and QueuePasword settings are not used.

amqp://localhost:5682/

On-Premises only

queueUsername

The RabbitMQ username.guest

On-Premises only

queueCompressionThresholdInBytes

The message size threshold beyond which binary data is compressed in RabbitMQ queues. Useful when indexing large files in the media library.10 (MB).
requirementsInvalidateDelay

The delay, in seconds, before the index requirements are invalidated. Setting the value to zero means that the index requirements is checked before any indexing operation. The index requirements include the sources, fieldsets, security provider, and user identity.

Useful when there are frequent indexing operations that are batched by the Sitecore search provider. In other words, the index configuration is verified each time an item is indexed. This behavior might occur in these situations:

  • When managing items through programming (e.g. add/update/remove)
  • When using the Sitecore workbox to update many items at once
  • When managing buckets
0
securityProviderName

The name of the security provider in the Coveo platform. Used when many Sitecore instances are targetting the same Coveo platform.

This setting supersedes the value set in the FarmName setting.

Sitecore Security Provider
serverUrlThe Sitecore server URL. Used by the Coveo security provider.http://jetstreamsitecore7/
shortenUrls

Whether the clickable URI should be shortened. This will be taken into account in the UrlOptions when resolving URIs of documents.

 

true/false
sitecorePassword

The Sitecore password. Used for the Coveo security provider.

Icon

When you set this password using the Configuration Wizard, it is stored in its encrypted form in the configuration file. You can also set it manually by editing the configuration file and entering the password as clear text. Beware that once you do that, it stays unencrypted.

b
sitecoreUsernameThe Sitecore username. Used for the Coveo security provider.sitecore\admin
sitecoreWebServiceUriThe URI of the Sitecore Web Service. Used to retrieve the binary data of Sitecore items.http://sitecoreInstance/sitecore%20modules/Web/Coveo/WebService/SitecoreWebService.asmx
siteNameThe site name to extract Sitecore content from.website
skipFirstTimeSetupCheckWhether to skip the First time setup check on Coveo Enterprise Search when initializing. Can be used on Content Delivery only servers.true/false
userIdentityName

The name of the user identity in the Coveo platform. Used when many Sitecore instances are targeting the same Coveo platform.

This setting supersedes the value set in the FarmName setting.

Sitecore Admin for MyMachine - SiteName

On-Premises only

username

The Admin Service username. 

Index-Related Configuration Settings

Those are the settings that are specific to the Coveo index. They can be found under the configuration/sitecore/contentSearch/configuration/indexes element.

NameDescriptionExample value
param desc="p_Name"The name (id) of the index. 
BinaryDataPropertiesWriterThe instance of IBinaryDataPropertiesWriter used to write binary data properties on documents sent to the Coveo platform . 

locations > crawler > database

 

The database name associated with the crawler.master

locations > crawler > root

 

The starting point of this crawler when indexing./sitecore
strategiesList all indexing strategies to apply to this index. 
strategies > strategy > typeThe Sitecore strategy to use.

You need to add all the required parameters after this tag so the strategy can run correctly.

sourceName

The source name to be used in the Coveo platform . This should only be set if you explicitly want to override the default source name created by Coveo for Sitecore.

Icon

You should not use the same source name for different Sitecore instances, given that they are all linked to the same Coveo platform. Be aware that doing so may cause major indexing and querying issues.

 

Security-Related Configuration Settings

These are settings that are specific to the security configuration of the Search Provider. They can be added under the configuration/sitecore/coveo/defaultIndexConfiguration element.

Name

Description

Default value
anonymousUsersA semicolon-separated list of usernames that are considered as anonymous Sitecore users.extranet\anonymous
indexPermissionsWhether to index the Sitecore permissions on items. Disabling this indexes all the items as Anonymous.true
skipSitecoreCredentialsUpdate
Skips the Sitecore credentials update in Coveo for the Security Provider. To be used on Content Delivery servers to simplify the setup.
false
skipSitecoreLoginCheck
Skips the login validation in Sitecore. To be used on Content Delivery only servers to simplify the setup.
false

Miscellaneous Configuration Settings

Those are miscellaneous settings that are used to configure various modules of the Sitecore Search Provider. They can be found under the configuration/sitecore/coveo/defaultIndexConfiguration element.

CesMasterInformation

On-Premises only

The CES master information defines the different settings used to connect to CES. Here is an example:

CesCommunicationFactory

On-Premises only

The CES Communication factory is the factory responsible for enabling communication between CES 7 and Sitecore. A typical configuration of this node looks like this:

CloudPlatformCommunicationFactory

Cloud only

The Coveo Cloud platform communication factory is the factory responsible for enabling communication between the Coveo Cloud platform and Sitecore. A typical configuration of this node looks like this:

ComputedFields

Computed fields are fields that are created from a combination of other fields.

A typical computed fields section looks like this:

 

FieldMap

The field map defines how a field is mapped between Coveo and Sitecore. Here is an example:

Icon

Please note that starting from Sitecore 7.5, the namespace changed for <fieldMap type="Coveo.SearchProvider.CoveoFieldMap, Coveo.SearchProvider">.

 

The field map also defines how fields are handled in the Coveo platform. For example, to include a field in a facet or to make it sortable, it must be defined in the fieldMap node. Please note that changes to this section will be taken into account in the Coveo platform only after the affected items are re-indexed. Some of the most common options that can be defined on the fieldType are explained in the following table.

fieldNames

Parameter nameDescriptionExample valueDefault value
fieldNameDefines the field name._uniqueId 
includeForFreeTextSearchDefines whether full-text search operations can be performed on this field.true / falsefalse
isFacetDefines whether facets can be bound to this field. This is also required for wildcard search.true / falsefalse
isMultiValue Defines whether this field contains multiple values. This is required for the "OR" and "AND" filtering in the facets.true / falsefalse
isSortableDefines whether search results can be sorted by this field.true / falsefalse
isExternalDefines whether the translation (addition of the "f" prefix and the source name hash suffix) should be avoided on this field. true / false false
isDisplayField
Defines whether the field should be displayed in search results. true / false
true
useForRanking
Defines whether values used in a filter on this field are used for ranking calculation.true / false   false

Cloud only

useStemming

Defines whether to stem the query in a filter specific on this field. true / false
false  

Cloud only

useCacheForComputedFacet

Defines whether to load data in memory for index computed fields.true / false  false  

Cloud only

useCacheForNestedQuery

Defines whether to load data required to perform nested queries in memory.true / false  false  

Cloud only

useCacheForNumericQuery

Defines whether to load data of numeric queries in memory, which allows quicker numeric operations, including operations on dates.true / false  false  

Cloud only

useCacheForSort

Defines whether to load the sort data in memory.true / false  false  
returnTypeDefines the type of field as seen by the index. For instance, in the case of an id, you would want it to be indexed as a string, so you would specify System.String. It needs to be used with a typeConverter.System.String if you want a string, System.Int32 for an integer field, System.Date for a Date field, etc.System.String
settingTypeDefines the type of class to be used for the configuration of this field. This should not be changed by a user.Coveo.Framework.Configuration.FieldConfiguration, Coveo.FrameworkCoveo.Framework.Configuration.FieldConfiguration, Coveo.Framework
typeDefines the input type of the field. For example, for an id field, the input type would be the type corresponding to an ID in Sitecore. This information is not used by the Coveo Search Provider. Modifying it will not override the Sitecore value for this field.Sitecore.Data.ID, Sitecore.KernelSystem.String 
typeConverterDefines the converter to be used for this specific field. It must work with the type and the returnType; the converter should take a field of the type as input and then outputs the converted value of returnType.Sitecore.ContentSearch.Converters.IndexFieldGuidValueConverter, Sitecore.ContentSearchnull

externalFields

Parameter nameDescriptionExample valueDefault value
fieldNameDefines the field name.syssize 
fieldTypeNameDefines the type of the field seen by the Coveo components (Facet, Facet Range, Slider).Number / Integer / Date / DatetimeString
Icon

If you modify a field parameter of type Facet or Sortable, you will have to perform a rebuild of your Sitecore indexes (Sitecore Desktop > Sitecore Menu > Control Panel > Indexing > Indexing Manager) for the modifications to take effect in your search results.

FieldReaders

The FieldReaders node defines which .NET class should handle a specific Sitecore field type. You can easily customize how a field is read by specifying its type name. In the Sitecore.ContentSearch assembly, Sitecore already provides a few field readers for various types, such as Checkbox, Date, RichText, Image, Lookup, etc. You can also create your own field readers in .NET by inheriting the Sitecore.ContentSearch.FieldReaders.FieldReader class and overriding the GetFieldValue and GetIndexFieldName methods. For more details on how to achieve this, you can visit Sitecore's technical blog or Sitecore's official documentation portal.

IndexFieldStorageValueFormatter

The index field storage value formatter is used to convert some field into a format recognized by the Coveo index. Here is an example:

The common options of the conversion types are explained in the following table.

Parameter nameDescriptionExample
inputTypeDefines the type to which the conversion will be applied. It means that all fields with this type will be converted with the specified converter.
Sitecore.Data.ItemUri
typeDefines the type of the converter to be used for this conversion type.
Sitecore.ContentSearch.Converters.IndexFieldItemUriValueConvertor, Sitecore.ContentSearch

CoveoFieldMap vs IndexFieldStorageValueFormatter

Icon

In the conversion process for fields, the CoveoFieldMap is used first if you specified a returnType and a typeConverter for a specific field. If it fails or if you have not specified anything, it will try to find the good converter in the IindexFieldStorageValueFormatter element. If the type of the field is not defined there, it will simply index the raw value of the field.

Icon

Please note that, starting from Sitecore 7.5, the namespace changed for <indexFieldStorageValueFormatter type="Coveo.SearchProvider.CoveoIndexFieldStorageValueFormatter, Coveo.SearchProvider" >.

VirtualFieldProcessors

Some fields can be created outside of the Sitecore context and have a meaning only in the search context. Those are not real fields on Sitecore items, but fields created on-the-fly by the corresponding processor.

Using Logging for Debugging Purposes

The Sitecore Search Provider uses the log4net logging library bundled with Sitecore. To enable logging, add the following node into the web.config file of your Sitecore instance. To enable logging in whatever portion of the code, modify the logger's name.

Icon

The method below enables logging for the namespace Coveo. Therefore, any other class which uses log4net and which is not located in that namespace will not log anything via that logger.

Using Pipelines 

You can add Sitecore pipeline processors using the Coveo Search Provider configuration file (see Using the Coveo Pipelines).

You can also learn about the various pipeline processors offered for HTML content (see Indexing Items with Basic HTML Content and Indexing Items with HTML Content Processor).