Unify and manage your data

Value concatenator cleanser

Learn about using the value concatenator cleanser to combine multiple attribute values into a single string for more accurate entity matching.

The Value concatenator cleanser takes an attribute that has multiple values and creates a string out of it. It enables you to consider all values of the attribute when matching entities, including the entities' nested sub-attribute. Suppose you have two markets, Market A and Market B, which have an attribute called Region that is common to both markets, and you want a match to occur for the markets only when there's a full match of all attribute values.

NumberScenariosMarket AMarket BMatch found?
1Market A has three values and Market B has one value for the Region attribute.Values for Region:
  • USA
  • India
  • Australia
Value for Region:
  • USA
No
2Market A has three values and Market B has three values for the Region attribute.Values for Region:
  • USA
  • India
  • Australia
  • India
Values for Region:
  • USA
  • India
  • Australia
Yes
With this cleanser is enabled, a match is found only if all market attribute values are matched, as in scenario 2.
For both markets, the cleanser:
  • Remove the white spaces (leading & trailing) from the individual attribute values.
  • Removes duplicate values.
  • Sorts attribute values alphabetically in an ascending order.
  • Uses a space (“ “) as a delimiter to combine attribute values into a single cleansed value.
  • Uses all values or only OV values of the attribute based on the ovOnly setting of the Exact match rule. For more information, see Configuring OV Values and Match Rule Editor.

Based on the values provided in the table, the concatenated string displayed as a match for scenario 2, after removing the duplicate values, is Australia India USA.

Enable the cleanser

You can enable the cleanser by including a cleanseAdapter attribute within the cleanse element of your match rule configuration:
{
    "uri": "configuration/entityTypes/Market/matchGroups/MarketRegionMatch",
    "label": "RegionMatch",
    "type": "suspect",
    "useOvOnly": "true",
    "rule": {
        "and": {
            "exact": [
                "configuration/entityTypes/Market/attributes/RegionCleansed"
            ],
            "cleanse": [{
                    "cleanseAdapter": "com.reltio.cleanse.impl.MultipleValuesCombinerCleanser",

                    "mappings": [{
                            "attribute": "configuration/entityTypes/Market/attributes/Location/attributes/Region",
                            "cleanseAttribute": "configuration/entityTypes/Market/attributes/RegionCleansed"
                        }
                    ]
                }
            ]

        }
    },
    "scoreStandalone": 0,
    "scoreIncremental": 0
}

Map the cleanseAttribute parameter only to an attribute defined at the root level of the entity — not to a nested attribute like Location/Region. The target attribute is typically present in your data model, but in this case, it does not need to be defined in L3 to be referenced in the match rule configuration.