Caros,

Estou trabalhando em um sistema cuja comparação de similaridade de nomes
dos detentos é extremamente importante a fim de detectar possíveis
fugitivos.

Por conta disso, usarei a extensão FuzzyStrMatch, com as 5 funções
disponíveis, para disparar alertas aos policiais para verificarem e
compararem as fichas de quem está sendo detido e quem é fugitivo.

Até o momento, tudo quase ok (tirando o fato de que não é para idiomas
latinos, mas já é algo). Só que fiquei com dúvida sobre qual seria um bom
valor para o índice Levenshtein. Estou extremamente compelido pelo índice
3, mas gostaria de opiniões.

Eis um exemplo de teste que mostrou-se satisfatório

select soundex('Josefa Silva'), soundex('Joseph Silva');
select levenshtein('Josefa Silva', 'Joseph Silva');
select metaphone('Josefa Silva', 10), metaphone('Joseph Silva', 10);
select dmetaphone('Josefa Silva'), dmetaphone('Joseph Silva');
select dmetaphone_alt('Josefa Silva'), dmetaphone_alt('Joseph Silva');

Neste caso, todos retornam iguais, mas quando mudamos de Josefa para José
(que é muito parecido com Joseph, inclusive no que tange ao gênero do
substantivo) só Levenshtein na causa para salvar, hehehe. O resultado vira
3. No caso de mudarmos para João vs Joseph, índice 4, e João vs José,
índice 2.

Enfim... opiniões?

-- 




 *
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