Proximity Fuzzy Matching
Fuzzy matching based on proximity of two entities
When the geographical location of two entities is within a certain distance (in miles), such entities can be considered as fuzzy matches using the proximity match rule.
- Multi Match Rule
- ProximateGeoToken
Multi Match Rule
The “multi” comparison depends on comparatorClasses
defined for the
multi
URI. The multi
operand must not be specified in
the match rule without setting the comparator class. The attribute values are forwarded to
the comparator class as a list in the order they are defined in the “attributes”
section.
Multi Match Example
"uri":"configuration/entityTypes/TestLocation/matchGroups/suspectGeoLocation",
"label":"GeoLocationSuspect",
"type":"suspect",
"useOvOnly":"false",
"rule":{
"multi":[
{
"uri":"configuration/entityTypes/TestLocation/attributes/GeoLocation1",
"attributes":[
"configuration/entityTypes/TestLocation/attributes/GeoLocation/attributes/Latitude",
"configuration/entityTypes/TestLocation/attributes/GeoLocation/attributes/Longitude"
]
}
],
"matchTokenClasses":{
"mapping":[
{
"attribute":"configuration/entityTypes/TestLocation/attributes/GeoLocation1",
"parameters":[
{
"parameter":"distance_miles",
"value":"0.4"
}
],
"class":"com.reltio.match.token.ProximateGeoToken"
}
]
},
"comparatorClasses":{
"mapping":[
{
"attribute":"configuration/entityTypes/TestLocation/attributes/GeoLocation1",
"parameters":[
{
"parameter":"distance_miles",
"value":"0.4"
}
],
"class":"com.reltio.match.comparator.ProximateGeoComparator"
}
]
}
}
}
The above rule defines that two entities are considered as matches if they are located within 0.4 miles from each other.
ProximateGeoToken
distance_miles
(float number: recommended values are between 0.001
and 10) parameter specifies the radius of the area of the potentially matched geo
locations. ProximateGeoToken works correctly only with multi
match rule
and the attributes in the multi
match rule must be specified in the
following order: - Latitude
- Longitude
ProximateGeoToken Example
"uri":"configuration/entityTypes/TestLocation/matchGroups/suspectGeoLocation",
"label":"GeoLocationSuspect",
"type":"suspect",
"useOvOnly":"false",
"rule":{
"multi":[
{
"uri":"configuration/entityTypes/TestLocation/attributes/GeoLocation1",
"attributes":[
"configuration/entityTypes/TestLocation/attributes/GeoLocation/attributes/Latitude",
"configuration/entityTypes/TestLocation/attributes/GeoLocation/attributes/Longitude"
]
}
],
"matchTokenClasses":{
"mapping":[
{
"attribute":"configuration/entityTypes/TestLocation/attributes/GeoLocation1",
"parameters":[
{
"parameter":"distance_miles",
"value":"0.4"
}
],
"class":"com.reltio.match.token.ProximateGeoToken"
}
]
},
"comparatorClasses":{
"mapping":[
{
"attribute":"configuration/entityTypes/TestLocation/attributes/GeoLocation1",
"parameters":[
{
"parameter":"distance_miles",
"value":"0.4"
}
],
"class":"com.reltio.match.comparator.ProximateGeoComparator"
}
]
}
}
}
The token class generates tokens for an area around the geo location point within a radius 0.4 miles.