Comparison Operators
Learn about Comparison Operators, including Exact, Fuzzy, and others, to define attribute matching logic in rules.
Use Comparison Operators, such as exact and fuzzy, to refine matching logic in rules.
exactand fuzzy operators don't define the comparison logic. The comparator assigned to the attribute does. They work the same way in terms of comparison, but they differ slightly when it comes to token generation.A match rule contains various key elements. Its primary element is the rule's comparison formula, which is usually positioned in a JSON, after the comparator and match token classes.
Depending on the rule type you choose (automatic,
suspect, <custom>, or
relevance_based), it will be a boolean or arithmetic expression
that defines how two match candidates should be compared for similarity. The rule will
use Comparison Operators and Helper Operators (e.g., Equals, In, And, Or, and Null Values), as the key components of the
expression. For more information, see topic Helper Operators.
exact, fuzzy, exactOrNull,
exactOrAllNull,
notExact, and multi. Here's a closer look at each operator:- exact
- This operator ensures a comparison returns
truewhen the tested values match exactly as defined by the assigned comparator class. - fuzzy
- The Fuzzy operator indicates that you wish the comparison for the attribute to be
considered
trueif any values being tested are similar, but not necessarily identical. - exactOrNull
- The comparison on the attribute is considered
trueif:- Both attributes have values AND pass the test for exact OR
- One attribute has a value while the other does not OR
- Both attributes have no values
- exactOrAllNull
- The comparison on the attribute is considered
trueif:- Both entities have values AND pass the test for exact OR
- Both entities have no values
- notExact
- The
notExactoperator negates the behavior of theexactoperator while preserving the connection between nested attribute values. It ensures that a comparison returns true when the tested values do not match exactly, as defined by the assigned comparator class.It enables you to create match rules that detect when values differ, without allowing incorrect cross-matching across nested attributes. It provides an inverse comparison toexact, making it useful in cases where an exact mismatch should trigger a match condition. It works like this:- If two attributes have the same value, the result is false (no mismatch).
- If two attributes differ, the result is true (mismatch detected).
- If one attribute has a value while the other is empty, the result is true (mismatch).
- Nested attributes remain grouped together, preventing incorrect cross-value permutations.
- multi
- The purpose of the
multioperator is to consider more than one attribute when matching entities.E.g., an instance where your data might have swapped values, such as a last name in the FirstName attribute and vice versa. In this case, regular matching methods can't reliably reconcile the entities. By assigning the
CrossMultiComparatorto themultioperator, the system generates permutations of the values in FirstName and LastName. This enables it to find matches even when one entity lists "John Doe" and the other lists "Doe John."
Token generation
Comparison operators guide how generated tokens are compared during matching.
The exactOrNull operator doesn't produce match tokens.
The exactOrAllNull operator doesn't produce tokens by default, which is usually the best option. However, if you're struggling with finding good attributes for a tokenization schema, you can request enabling token generation in your tenant configuration. For more information, see topic Contact a support person.
The notExact operator doesn't produce match tokens.