Configure dedicated xConnect Collection and xConnect Collection Search connection strings

Current version: 9.1

Applies to

Content Management

You define xConnect’s connection string names in the \App_Config\Sitecore\XConnect.Client.Configuration\Sitecore.XConnect.Client.config file. By default, search and collection use the same connection string:

RequestResponse
<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
    <services>
    <register
        serviceType="Sitecore.XConnect.Client.Configuration.IClientFactory, Sitecore.XConnect.Client.Configuration"
        implementationType="Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientFactory, Sitecore.XConnect.Client.Configuration"
        lifetime="Transient" />
    </services>
    <xconnect>
    <clientconfig type="Sitecore.XConnect.Client.Configuration.SitecoreXConnectClientConfiguration,Sitecore.XConnect.Client.Configuration" singleInstance="true">
        <param desc="clientModel" ref="xconnect/runtime" />
        <param desc="collectionConnectionStringName">xconnect.collection</param>
        <param desc="searchConnectionStringName">xconnect.collection</param>
        <param desc="configurationConnectionStringName">xconnect.collection</param>
        <param desc="collectionCertificateValidationEnabled">false</param>
        <param desc="searchCertificateValidationEnabled">false</param>
        <param desc="configurationCertificateValidationEnabled">false</param>
    </clientconfig>
    <runtime type="Sitecore.XConnect.Client.Configuration.RuntimeModelConfiguration,Sitecore.XConnect.Client.Configuration">
        <schemas hint="list:AddModelConfiguration">
        <schema name="collectionmodel" type="Sitecore.XConnect.Client.Configuration.StaticModelConfiguration,Sitecore.XConnect.Client.Configuration">
            <param desc="modeltype">Sitecore.XConnect.Collection.Model.CollectionModel, Sitecore.XConnect.Collection.Model</param>
        </schema>
        </schemas>
    </runtime>
    </xconnect>
</sitecore>
</configuration>

You must also add a certificate string for xconnect.collection in the \App_Config\ConnectionStrings.config file:

RequestResponse
<add name="xconnect.collection.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint;FindValue=859E88DC0692BA1583145223C455F186937C0D62" />

Setting up dedicated search and collection connection strings

By default, Collection and Search are combined into a single end point. If you have dedicated search and collection instances, change the searchConnectionStringName on every core role that requires access to the xConnect Search service:

RequestResponse
<param desc="searchConnectionStringName">xconnect.search</param>

In the \App_Config\ConnectionStrings.config file you can then target search and collection separately:

RequestResponse
<add name="xconnect.collection" connectionString="https://brand_xconnect_collection/" />
<add name="xconnect.search" connectionString="https://brand_xconnect_search/" />

You must also add certificate strings for both xconnect.collection and xconnect.search:

RequestResponse
<add name="xconnect.collection.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint;FindValue=859E88DC0692BA1583145223C455F186937C0D62" />
<add name="xconnect.search.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint;FindValue=859E88DC0692BA1583145223C455F186937C0D62" />

The actual certificate thumbprint for your installation is found in xConnect, in the \App_Config\AppSettings.config file, in the validateCertificateThumbprint setting.

Do you have some feedback for us?

If you have suggestions for improving this article,