Subject: Phonetic representation LENGHT for DMETAPHONE, is there a way to make it longer?

From: Jean Baro <[email-masked]>
Date: Thu, 11 Nov 2021 11:26:43 -0300

Hello people,

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?.

Any help would be much appreciated.

Thanks

---

From: Laurenz Albe <[email-masked]>
Date: Thu, 11 Nov 2021 17:11:50 +0100

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';

Yours,
Laurenz Albe
-- 
Cybertec | https://www.cybertec-postgresql.com

---

From: Jean Baro <[email-masked]>
Date: Sat, 13 Nov 2021 22:06:24 -0300

Thank you very much.

Em qui., 11 de nov. de 2021 13:11, Laurenz Albe <[email-masked]>
escreveu:

> > aspects of it is to support both minor misspelling and phonetic
> variations of First, Middle, and Last name.
> > but it's a bit more imprecise for names like Lee and John. I am using
> Double Metaphone through dmetaphone() and
> 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?.
>