pgsql-server/contrib/fuzzystrmatch README.fuzz ...
От | momjian@svr1.postgresql.org (Bruce Momjian) |
---|---|
Тема | pgsql-server/contrib/fuzzystrmatch README.fuzz ... |
Дата | |
Msg-id | 20030624225946.A967430FA78@svr1.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
CVSROOT: /cvsroot Module name: pgsql-server Changes by: momjian@svr1.postgresql.org 03/06/24 19:59:46 Modified files: contrib/fuzzystrmatch: README.fuzzystrmatch fuzzystrmatch.c fuzzystrmatch.h Log message: Jim C. Nasby wrote: > Second argument to metaphone is suposed to set the limit on the > number of characters to return, but it breaks on some phrases: > > usps=# select metaphone(a,3),metaphone(a,4),metaphone(a,20) from > (select 'Hello world'::varchar AS a) a; > HLW | HLWR | HLWRLT > > usps=# select metaphone(a,3),metaphone(a,4),metaphone(a,20) from > (select 'A A COMEAUX MEMORIAL'::varchar AS a) a; > AKM | AKMKS | AKMKSMMRL > > In every case I've found that does this, the 4th and 5th letters are > always 'KS'. Nice catch. There was a bug in the original metaphone algorithm from CPAN. Patch attached (while I was at it I updated my email address, changed the copyright to PGDG, and removed an unnecessary palloc). Here's how it looks now: regression=# select metaphone(a,4) from (select 'A A COMEAUX MEMORIAL'::varchar AS a) a; metaphone ----------- AKMK (1 row) regression=# select metaphone(a,5) from (select 'A A COMEAUX MEMORIAL'::varchar AS a) a; metaphone ----------- AKMKS (1 row) Joe Conway
В списке pgsql-committers по дате отправления: