Why is Fuzzy for Middle Name returning false when the value is blank?

Question

We can see for the HCP entity, the Fuzzy middle name is not working for the blank value. Match analysis is showing the match as false.

Comparator class used

 

"matchTokenClass": "com.reltio.match.token.ExactMatchToken",
"comparatorClasses": {
"mapping": [
{
"attribute": "configuration/entityTypes/HCP/attributes/MiddleName",
"class": "com.reltio.match.comparator.DynamicDamerauLevenshteinDistance"
}
]
},


Answer

You should use Fuzzy on Name (First Name, Middle Name, and Last Name).  In the case that you have described (David Samuel Gibson, David Gibson, and David S Gibson), Fuzzy will return true as you would expect if it is applied to the full name.  However, if the middle name is blank and the fuzzy rule only contains the middle name, it will return false.

Typically what is configured is:

    • Exact (first, last); ExactOrNull (Middle)

    • Fuzzy (first, middle, Last name);

    • Exact (first, last); ExactOrNull (Middle)

The fuzzy rule defines that two entities would be considered as matches if they have at least one same value of the "FirstName" attribute and at least one attribute value of the "LastName" attribute that would be fuzzy equals to each other. Fuzzy comparison is strongly dependent on comparator classes that are defined for particular attributes.  

DamerauLevenshteinDistance - Comparator returns true if Damerau-Levenshtein distance between two values is less than a defined constant:

  • 1 for strings with length<= 4
  • 2 for strings with length> 4


Example

freddy|al|freddie|alfie|fred|alf=>alfred

transforms "al" to "alfred" but "alfie" to "alfredfie" >> no match

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

Comments

0 comments

Please sign in to leave a comment.