On Thu, 2021-11-11 at 11:26 -0300, Jean Baro wrote: > Please, I am working on a PoC for Real-time Person Identification, and one of the critical > aspects of it is to support both minor misspelling and phonetic variations of First, Middle, and Last name. > Like HarinGton == HarrinBton or RaphEAl == RafAEl. It's working for longer names, > but it's a bit more imprecise for names like Lee and John. I am using Double Metaphone through dmetaphone() and > dmetaphone_alt() in PostgreSQL 13.3 (Supabase.io). And although I appreciate Double Metaphone > it returns a (too?) short string as the phonetic representation compared to metaphone(string, length). > metaphone() has parameters to make the resulting phonetic representation longer. > I investigated dmetaphone() and couldn't find anything other than the default function. Is there a way of making > dmetaphone() and dmetaphone_alt() return a longer phonetic representation similar to metaphone()'s, but with a ALT variation?.
These functions focus on phonetic similarity.
There are no other variants of these functions, but perhaps pattern matching (which focuses on spelling, *not* phonetics) can help:
CREATE EXTENSION pg_trgm;
-- now you can use the "similar to" operator SELECT * FROM tab WHERE name % 'lorenz';