utilizando soundex no firebird...
13/06/2006
0
Fiz os procedimento para o uso da UDF mv_soundex, conforme está na revista DBFreeMagazine 06. Está ocorrendo alguns problemas. Registrei a udf no firebird. Estou fazendo um teste com um campo de uma tabela só para teste, a tabela tem cerca de 50000 registros.
Quando faço a seguinte consulta abaixo ele me retorna todos os registro no campo a sequência: ´aaa´ .
O que pode estar de errado, baixei a dll do site firebase.
select mv_soundex(nome) as Nome_Soundex
from membros
Obrigado Thiago Pedro...
Thiagopedro
Posts
22/06/2006
Adrinei
CREATE TRIGGER TRG_TESTE FOR TBL_TESTE
ACTIVE BEFORE INSERT OR UPDATE POSITION 0
AS
BEGIN
-- Nome fonético
NEW.NOMEFONETICO = UDF_SOUNDEX(NEW.NOME);
END
Imagine que para cada consulta que você aplicar sobre esta tabela o banco terá que converter 50 mil nomes para comparar.
03/08/2007
Murilo-jau
www.comunidade-firebird.org
Instalei sem problemas.
Fiz meu código seguindo o Leiame que vem junto com a dll :
´select * from ISO
where soundex(NOME_ISO) = SOUNDEX(´´´+Edit1.Text+´´´)´)´
MAS ele não retorna valor algum !
Por exemplo tenho cadastrado :
Luis Luiz
e buscando por Luis ou Luiz o resultado é o mesmo, NADA!
e erro não está dando no código.
Alguem me ajuda?
03/08/2007
Murilo-jau
select * from ISO
where soundex(NOME_ISO) like SOUNDEX(´´¬´+Edit1.Text+´¬´´)
Agora ele acha o nome buscado , mas o problema é que a função SOUNDEX não está ocorrendo. Como se fosse um simples like.
Será que usando o LIKE eu ´inibo´ a função SOUNDEX ?
Sem o like:
where soundex(NOME_ISO) = soundex(´´´+Edit1.text+´´´)
ele não retorna valor algum !!!!!
03/08/2007
Emerson Nascimento
06/08/2007
Murilo-jau
E fazendo mais alguns teste aqui , Alessandro e Alesandro deu certo na busca , ele acha os dois sendo buscado por S ou SS, então acho que isto mesmo que vc falou Emerson. S e Z , C e Ç não esta funfando. Só S e SS.
06/08/2007
Emerson Nascimento
06/08/2007
Murilo-jau
Link :
http://www.comunidade-firebird.org/modules.php?name=Downloads&d_op=viewdownload&cid=6&orderby=titleD
Vos testa sim.
Valeu ai pela atenção !
06/08/2007
Murilo-jau
S - SS ; C - Ç ; W - V ;
mas CH - X não está rodando ( só resulta no mesmo nome buscado)
o S - Z que está estranho :
No caso de JOSÉ - JOZÉ , a busca encontra os dois.
Mas no caso de LUIZ - LUIS é retornado o mesmo nome buscado. Mas quando busquei por acaso LASO - LASSO a busca encontra o tal LUIZ .
Por enquanto isto foi o que eu encontrei !
06/08/2007
Emerson Nascimento
1- corrigi o problema do CH - X
2- no caso do S - Z que está correto:
JOSÉ - JOZÉ são fonéticamente idênticos, pois o S tem som de Z nesse caso.
3- corrigido o caso entre LUIZ - LUIS
4- a comparação entre LASO e LASSO é um caso específico, porque em LASO o S tem som de Z, porém em LASSO o SS tem som de S, o que indica incompatibilidade fonética.
06/08/2007
Murilo-jau
Vou continuar usando esta ultima versão desta UDF sua ! blz ?
Se eu encontrar mais alguma coisa eu te passo !
11/08/2007
Sremulador
você poderia envir novamente pro fileshare...
20/08/2007
Murilo-jau
Clique aqui para fazer login e interagir na Comunidade :)