1. A system for matching objects using keys based on match rules, the apparatus comprising: one or more processors; and a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to: generate a match rule key based on a match rule, wherein the match rule specifies whether two objects match; create a plurality of candidate keys by applying the match rule key to a plurality of data objects; create a probe key by applying the match rule key to a probe object; determine whether the probe key matches a candidate key of the plurality of candidate keys; determine whether the probe object matches a candidate object based on applying the match rule to the probe object and the candidate object in response to a determination that the probe key matches the candidate key corresponding to the candidate object; and identify the probe object and the candidate object as matching based on the match rule in response to a determination that the probe object matches the candidate object.