What is proximity fuzzy matching and how can I enable it? 

Answer

When the geographical location of two entities is within a certain distance (in miles), those entities can be considered as fuzzy matches for each other using the proximity match rule.

Match rules for proximity fuzzy matching are built by using the following:
  • Multi-Match Rule
  • ProximateGeoToken

Multi-Match Rule:

The “multi” comparison depends on comparatorClasses defined for the multi URI. Do not specify the multi operand in the match rule without also setting the comparator class. Attribute values are forwarded to the comparator class as a list in the order they are defined in the “attributes” section.

ProximateGeoToken:

The proximateGeo match token class generates tokens for an area around the geo point location (described by latitude and longitude values). The parameter (a floating number with recommended values between 0.001 and 10) specifies the radius of the area of the potentially matched geo-locations.

The ProximateGeoToken only works correctly with multi match rule, and the attributes in the multi match rule must be specified in the following order:

  1. Latitude

  2. Longitude

For samples of the Multi-Match Rule and the ProximateGeo Token see the "Reference" section.

How to determine proximity for match

Using the link or this link determines the distance between two coordinates (please note that this is NOT the driving distance, it is the physical distance).  

 

Match group are defined by the cumulative distance 

Example of distance-transitive:

The distance of A to C = 0.6 miles (supposedly not merged)
The distance of A to B = 0.3 miles (merged)
The distance of B to C = 0.3 miles (merged)


A and C are merged due to B.

1 A----0.3miles East------B--------0.3miles East-------C

 

====================================================================

 

Note: There are also multiple sites that allow calculating the distance between 2 points.

"matchGroups": [

               {
                    "uri""configuration/entityTypes/GeoMatch/matchGroups/GeoMatchRule",
                    "label""Geo Location Match Rule",
                    "type""automatic",
                    "useOvOnly""true",
                    "rule": {
                        "matchTokenClasses": {
                            "mapping": [
                               {
                                    "attribute""configuration/entityTypes/GeoMatch/attributes/Address/attributes/GeoLocation1",
                                   "parameters": [
                                       {
                                            "parameter""distance_miles",
                                            "value""0.4"
                                       }
                                    ],
                                   "class""com.reltio.match.token.ProximateGeoToken"
                               },
                               {
                                    "attribute""configuration/entityTypes/GeoMatch/attributes/XREFID1",
                                   "class""com.reltio.match.token.ExactMatchToken"
                               }
                           ]
                        },

                        "comparatorClasses": {
                            "mapping": [
                               {
                                    "attribute""configuration/entityTypes/GeoMatch/attributes/Address/attributes/GeoLocation1",
                                   "parameters": [
                                        {
                                           "parameter""distance_miles",
                                            "value""0.4"
                                       }
                                    ],
                                   "class""com.reltio.match.comparator.ProximateGeoComparator"
                               }
                            ]

                        },

                        "and": {

                            "exact": [

                                "configuration/entityTypes/GeoMatch/attributes/XREFID1"

                            ]

                        },

                        "multi": [

                            {

                                "uri""configuration/entityTypes/GeoMatch/attributes/Address/attributes/GeoLocation1",

                                "attributes": [

                                    "configuration/entityTypes/GeoMatch/attributes/Address/attributes/GeoLocation/attributes/Latitude",

                                    "configuration/entityTypes/GeoMatch/attributes/Address/attributes/GeoLocation/attributes/Longitude"

                                ]

                            }

                        ]

                    },

                    "scoreStandalone"0,

                    "scoreIncremental"0

                }

            ],

 

Reference

https://docs.reltio.com/matchmergeconfig/proximityfuzzymatching.html

Was this article helpful?
0 out of 0 found this helpful

Comments

1 comment
  • Hi @Shantanu Indra,

    Please let us know if there is any way to configure this in "or" Condition. The rule we want to implement is to have a fuzzy address line1 or proximity range less than 0.5 mile.

    Thanks,

    Harsha

    0

Please sign in to leave a comment.