Example 4 - Two Rules, one a Fuzzier Version than the Other
The match rule configuration contains two match rules and both use fuzzy comparison to match.
Please review the example match rule configuration below.
Rule 1 has the following characteristics:
- The tactic of the rule is exact Zip5 and fuzzy name.
- The user is confident about the stringency of the rule so she has set it to the
automatictype, thus for the candidate pairs that evaluate to true for this rule, a directive will be sent to the engine to merge the profiles. - The user has configured
ExactOrAllNullfor theIsCurrentattribute and has utilizednullValuesto set any occurrence offalseto(null)for use with theExactOrAllNullcomparison operator.
{
"uri": "configuration/entityTypes/Household/matchGroups/HouseholdAddressAndZip",
"label": "Exact(AddressLine1, Zip) & Fuzzy(Last)",
"type": "automatic",
"rule": {
"matchTokenClasses": {
"mapping": [
{
"attribute": "configuration/entityTypes/Household/attributes/Name",
"class": "com.reltio.match.token.ComplexPhoneticNameToken"
}
]
},
"and": {
"exact": [
"configuration/entityTypes/Household/attributes/Address/attributes/Zip5",
"configuration/entityTypes/Household/attributes/Address/attributes/AddressLine1"
],
"fuzzy": [
"configuration/entityTypes/Household/attributes/Name"
],
"and": {
"exactOrAllNull": [
"configuration/entityTypes/Household/attributes/IsCurrent"
],
"nullValues": [
{
"attribute": "configuration/entityTypes/Household/attributes/IsCurrent",
"value": "false"
}
]
}
}
},
"scoreStandalone": 25,
"scoreIncremental": 25
},
Rule 2 has the following characteristics:
- The tactic of the rule is fuzzy Zip5 and fuzzy name.
- The user is less confident about the stringency of the rule so she has set it to the
suspecttype, thus for the candidate pairs that evaluate to true for this rule, a directive will be sent to the engine to queue the candidate pair for review. - The user has configured the
RangeNumericComparatorfor the Zip5 attribute and set a threshold of 2 which will tolerate a range of zip codes that are smaller or bigger than each other within the value of 2. For example, 90203 will match to 90201, 90202, 90203, 90204, 90205.
{
"uri": "configuration/entityTypes/Household/matchGroups/CloseLastExactAddressCloseZip",
"label": "Close Last + Exact Address (Exact Street and Close Postal Code)",
"type": "suspect",
"rule": {
"matchTokenClasses": {
"mapping": [
{
"attribute": "configuration/entityTypes/Household/attributes/Name",
"class": "com.reltio.match.token.ComplexPhoneticNameToken"
}
]
},
"comparatorClasses": {
"mapping": [
{
"attribute": "configuration/entityTypes/Household/attributes/Address/attributes/Zip5",
"parameters": [
{
"parameter": "threshold",
"value": "2"
}
],
"class": "com.reltio.match.comparator.RangeNumericComparator"
}
]
},
"and": {
"exact": [
"configuration/entityTypes/Household/attributes/Address/attributes/Premise",
"configuration/entityTypes/Household/attributes/Address/attributes/Street"
],
"exactOrAllNull": [
"configuration/entityTypes/Household/attributes/Address/attributes/POBox"
],
"fuzzy": [
"configuration/entityTypes/Household/attributes/Address/attributes/Zip5",
"configuration/entityTypes/Household/attributes/Name"
],
"and": {
"exactOrAllNull": [
"configuration/entityTypes/Household/attributes/IsCurrent"
],
"nullValues": [
{
"attribute": "configuration/entityTypes/Household/attributes/IsCurrent",
"value": "false"
}
]
}
}
},
"scoreStandalone": 50,
"scoreIncremental": 25
}