Gazetteer Class

Sometimes we have a canonical dataset that exhaustively lists all possible valid entities, which we want to match messy data against. The classic example is address matching where we have a gazette of all valid addresses within an area, and our task is to match, normalize, or geocode a potentially messy query address.

This case differs from the RecordLink case because we can allow multiple messy queries to match the same canonical entity.