Achei muito bacana essa extensão. Há algum tempo atrás tive que implementar
na mão um soundex que levasse em consideração o português, onde o ão e õe
ganha o mesmo peso que a consoante m/n.

Desta vez o desafio foi pesquisar por similaridade ortográfica, e a
levenshtein veio bem a calhar.

SELECT
levenshtein(upper(no_usuario), upper('Freitas'), 1, 0, 1) as pontuacao,
no_usuario
FROM tb_usuario
where levenshtein(upper(no_usuario), upper('Freitas'), 1, 0, 1) <=1
order by pontuacao;

O resultado desta consulta foi a seguinte:

pontuacao;no_usuario
0;"Gabriela Freittas"
0;"Gabrielllla Freittas"
0;"Gabriel Freitas"
0;"Gabriel Freittas"
1;"Gabrielle Frettas"
1;"Gabrielli Fritas"
1;"Gabriellie Fritas"


Legal! Consegui Fritas e Freittas pesquisando por Freitas e dando
tolerância de 1.  Ou seja, eventuais typos ainda são localizáveis. Bem mais
útil que o like.

-- 




 *
Pablo Santiago Sánchez*
ZCE ZEND006757
[email protected]
(61) 9975-0883
http://www.sansis.com.br
*"Pluralitas non est ponenda sine necessitate"*
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a