Using a Custom Name Dictionary
You can create a Custom Name Dictionary Cleanser and use it during matching instead of the Reltio provided name cleanser.
If you have developed your own list of base names and their synonyms, and wish the match engine to leverage your list instead of the in-built dictionary, there are three key steps to perform, summarized here and detailed afterward.
-
Add a source and a lookup type to your RDM tenant.
Using the RDM UI, add a new source named
DICT_BASE_NAME
to your RDM tenant.Add a Lookup Type with the name of your choice, for example, Acme Name Dictionary, to your RDM tenant. Once entered, notice the format of the actual Lookup Type code that is generated with underscores:
ACME_NAME_DICTIONARY
. This is the code you will need to specify in your L3 configuration.Click the new Lookup Type you added and add the new source
DICT_BASE_NAME
in the source columns, as shown below. -
Load Base values and Synonym values to the Lookup Type.
POST values into your new lookup type using the following example JSON that establishes the synonyms of
bennie
,ben
, andbenji
for the base name ofbenjamin
. Note, we recommend you use the python programSynonym Loader
that you can download from the Reltio ROCS Page.[ { "tenantId": "RBcvGv0Dcmcjhgy", "type": "ACME_NAME_DICTIONARY", "enabled": true, "code": "bennie", "sourceMappings": [ { "source": "DICT_BASE_NAME", "values": [ { "code": "benjamin", "value": "benjamin", "description": "Predefined Name Dictionary value", "enabled": true, "canonicalValue": false, "downStreamDefaultValue": false } ] } ] }, { "tenantId": "RBcvGv0Dcmcjhgy", "type": "ACME_NAME_DICTIONARY", "enabled": true, "code": "ben", "sourceMappings": [ { "source": "DICT_BASE_NAME", "values": [ { "code": "benjamin", "value": "benjamin", "description": "Predefined Name Dictionary value", "enabled": true, "canonicalValue": false, "downStreamDefaultValue": false } ] } ] }, { "tenantId": "RBcvGv0Dcmcjhgy", "type": "ACME_NAME_DICTIONARY", "enabled": true, "code": "benji", "sourceMappings": [ { "source": "DICT_BASE_NAME", "values": [ { "code": "benjamin", "value": "benjamin", "description": "Predefined Name Dictionary value", "enabled": true, "canonicalValue": false, "downStreamDefaultValue": false } ] } ] } ]
Once loaded, you can view the entries in your RDM UI.
Notes on the above: The python program assumes you have used the
DICT_BASE_NAME
source. All name strings must be loaded in lower-case. Notice in the above that every instance of benjamin, bennie, ben, and benji are in lowercase. We strongly suggest you maintain lowercase in your Excel and in-turn, your CSV file. -
Add a cleanse adapter to your match rule.
Include the following cleanse adapter JSON within the cleanse element of your match rule configuration.
{ "cleanse": [ { "cleanseAdapter": "com.reltio.cleanse.impl.NameDictionaryCleanser", "cleanseAdapterParams": { "rdmServiceUri": "https://rdm.reltio.com", "oauthInstance": "https://auth.reltio.com/oauth/token", "rdmTenantId": "rdm1234567890", "dictionary": "rdm/lookupTypes/ACME_NAME_DICTIONARY" }, "mappings": [ { "attribute": "configuration/entityTypes/Individual/attributes/FirstName", "cleanseAttribute": "configuration/entityTypes/Individual/attributes/FirstName" } ] } ] }
Note:- The example assumes use of the First Name attribute within the Individual entity type. Adjust accordingly to suit your use case.
- For the parameter
rdmTenantID
, provide the actual RDM tenant ID you wish to use, from the RDM tenants provisioned for you; The RDM tenant you choose should be configured with your new lookup type that containsDICT_BASE_NAME
source. In the example above, the lookup type was named,AcmeDictionaryLookup
but you should choose a dictionary name of your liking.