Skip to main content

Content Search Configuration

Content Search Configuration lets administrators choose, per inbound search, which backend a Regulated Content Cloud published-document search runs against. You can route every search to standard Einstein search (Einstein), route every search to Data 360 (DATA_360), or split traffic across both based on country, channel, or any other attribute you stamp onto the request. This gives you precise, cost-aware control over where searches run.

This page describes the Content Search Settings (mvn__CM_Content_Search_Settings__mdt) custom metadata type and how to author criteria that match specific slices of traffic.

How content search dispatch works

When Regulated Content Cloud runs a published-document search, the platform builds a request that captures every input the caller provided. Before the request goes to Einstein or Data 360, the content search resolver:

  1. Loads every Content Search Settings record in your org.
  2. Iterates the records in Order (CM_Order__c) ascending, from lowest to highest.
  3. Evaluates each record's Criteria (CM_Criteria__c) JSON against the inbound request.
  4. Stops at the first match and stamps that record's dispatch fields (algorithm, search type, index, data space, minimum score) onto the request.
  5. Hands the stamped request to either Einstein search or Data 360.

Because matching is first-match-wins, more specific records should have a lower Order value than less specific records. If no record matches an inbound request, the search runs on Einstein with no additional dispatch fields applied.

Fields on Content Search Settings

Field labelAPI nameTypeDescription
OrderCM_Order__cNumber, requiredEvaluation order. Lower numbers evaluate first.
CriteriaCM_Criteria__cLong Text Area, required (validation rule)JSON rule evaluated against the inbound search request. See Author criteria.
Search AlgorithmCM_Search_Algorithm__cPicklist, requiredOne of Einstein or DATA_360. Selects which backend handles the matched search.
Search TypeCM_Search_Type__cPicklistOne of Hybrid or Vector. Used only when Search Algorithm is DATA_360. Ignored for Einstein.
Search IndexCM_Search_Index__cText(50)Data Cloud DLO name for Data 360. Must end with _index__dlm so the paired chunk DLO can be derived.
Data SpaceCM_Data_Space__cText(50)Customer Data Platform data space. Use default for the standard data space.
Min Search ScoreCM_Min_Search_Score__cNumber(3,2)Minimum score (0–1) a record must exceed to be returned from Data 360.
info

The Content Search Settings object also includes a validation rule, CM_Data_360_Requires_Full_Config, that blocks save when Search Algorithm is DATA_360 and any of Search Type, Search Index, Data Space, or Min Search Score is blank. This catches incomplete Data 360 configuration at save time instead of at runtime.

Author criteria

Criteria use the same JSON shape as Regulated Content Cloud's layout and workflow criteria. The full operator list and compound criteria syntax are documented in Criteria definition. Content Search Configuration extends that shape with a small set of paths that describe the inbound search request.

Available paths

Each path corresponds to an attribute on the inbound search request. Use these paths in your criteria JSON to gate which records apply to which requests.

PathTypeDescription
publishedOnlyBooleantrue when the call came through the published-document service. Use this path to gate Data 360 to published-document search only and leave other consumers (list views, REST endpoints) on Einstein.
regionCodesArray of stringsTwo-letter country codes (for example, US, CN) that the caller selected as a country filter. Use Includes or NotIncludes to route per country.
customAttributes.<key>AnyCaller-supplied values. The canonical example is customAttributes.channel, which is auto-stamped from the parent Interaction's Origin (for example, Phone, Email, Web). Other callers can set additional keys as needed.

Examples

The examples below show common dispatch patterns. Paste the JSON into the Criteria field as written.

Route every published-document search to Data 360

Use this pattern when you want all published-document searches to use Data 360 while leaving other callers (REST endpoints, admin list views) on Einstein.

{
"path": "publishedOnly",
"operator": "isTrue"
}

Pair the criteria with these dispatch fields:

  • Search Algorithm: DATA_360
  • Search Type: Hybrid
  • Search Index: <your_index>_index__dlm
  • Data Space: default
  • Min Search Score: 0.80

Route only US published-document searches to Data 360

Use this pattern when you want to limit Data 360 to a specific country. Other countries fall through and run on Einstein.

{
"AllTrue": [
{ "path": "publishedOnly", "operator": "isTrue" },
{ "path": "regionCodes", "operator": "Includes", "value": "US" }
]
}

Route phone-channel published-document searches to Data 360

Use this pattern when you want to differentiate by the channel through which the originating interaction was received. The customAttributes.channel value is stamped from the parent Interaction's Origin.

{
"AllTrue": [
{ "path": "publishedOnly", "operator": "isTrue" },
{ "path": "customAttributes.channel", "operator": "Equals", "value": "Phone" }
]
}

Configure Data 360 dispatch

To route a slice of traffic to Data 360, complete these steps in Setup > Custom Metadata Types > Content Search Settings.

  1. Click New to create a Content Search Settings record.
  2. Enter a Label and Name that describe the slice (for example, US Published Docs).
  3. Enter an Order value that reflects how specific the record is. Lower values evaluate first.
  4. Paste a criteria JSON document into Criteria that matches the slice. See Examples.
  5. Set Search Algorithm to DATA_360.
  6. Set Search Type to either Hybrid or Vector, depending on your Data Cloud index.
  7. Set Search Index to your Data Cloud DLO name. The value must end with _index__dlm.
  8. Set Data Space to your Customer Data Platform data space (typically default).
  9. Set Min Search Score to a value between 0 and 1 (for example, 0.80).
  10. Click Save. If any of the four Data 360 fields are blank, the CM_Data_360_Requires_Full_Config validation rule blocks the save with a descriptive error.
warning

Data 360 dispatch requires that your Data Cloud DataKit and Data Lake Object (DLO) ingestion is configured and running. The DataKit is a separate prerequisite to Content Search Configuration. The value you enter in Search Index must match the DLO name that the DataKit creates.

Validate the configuration

After you save the record, run a test search that matches your criteria. Confirm that:

  • Results are returned (Data 360 returns no results when nothing exceeds the Min Search Score threshold).
  • Other searches that should not match the new record continue to run on Einstein.

If Data 360 returns a runtime error, the exception propagates to the caller — there is no automatic fallback to Einstein. Use the save-time validation rule and a careful Min Search Score to avoid runtime errors.