[firebase-br] Consulta mais afinada tipo google

Josauro S.J. josauro em casasoft.inf.br
Seg Ago 3 08:42:52 -03 2009


Prezado

Não sei o que ja foi postado, pois todos ficam so no manda para mim, e nào postam nada mais objetivo na lista para que todos possam compartilhar.

A minha solução nesse caso de endereço e nomes, é usar busca fonetica, iniciamente voce pode trabalhar somente com as palavras mesmo.
Crie uma tabela de fonemas (palavras), e quebre todos os endereços em palavras e grave nessa tabela tipo BELA CRUZ, grava um registro para a palavra BELA, e outro para CRUZ, os dois apontando para o mesmo registro de endereço, assim quando voce for consultar, voce buscas as palavras nessa tabela, e traz todos os endereços que contem as palavas digitadas.
Da para fazer muitos filtros com esse padrão, com o tempo voce pode criar fonemas para as palavras, assim alem de gravar CRUZ, vc grava um fonema representando essa pavra, (exsitem varios algoritimos), para que possa procurar por CRUS, CRUZ etc.
Tudo isso pode ser feito somente com Stored Procedure, sem usar udf e funciona muito bem.

(Mas ideias postem aqui mesmo)

Atenciosamente

Josauro S.J.
Diretor
(41)3321-7700
www.casasoft.inf.br
CasaSoft Desenvolvimento de Sistemas LTDA.
Informática de Útima Geração.



Message: 2
Date: Fri, 31 Jul 2009 22:13:09 +0000
From: Carlos Gilson <krlosgilson em gmail.com>
Subject: Re: [firebase-br] Consulta mais afinada tipo google
To: lista em firebase.com.br
Message-ID:
<ba0f1c020907311513p437f1799hb3df5cb87e352fbb em mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1

Gente, obrigado por todas as respostas. Pesquisei, segui algumas orientações
que os amigos postaram aquii mas até agora nada. Se alguém conseguir algo
mais sobre esta consulta e quiser postar aqui agradeço! Boa noite a todos!

 >>> "Carlos Gilson" <krlosgilson em gmail.com> escreveu na mensagem
>>> news:ba0f1c020907291453w97c26e6sf64e01e2ca92ab2 em mail.gmail.com...
>>> Boa noite! Estou precisando de uma afinação maior no meu select para
>>> conseguir um resultado com mais precisão das minhas tabelas.
>>> Desenvolvi um
>>> programa de consultar CEP. Estou com uma necessidade de que o select me
>>> retorne os endereços com mais precisão. Tipo se uma pessoa consultar
>>> um CEP,
>>> pelo logradouro e Cidade acontece o seguinte:
>>>
>>> Se a busca foi:
>>> RUA BELA CRUZ (E outra, se eu digitar uma palavra com acento e na
>>> tabela não
>>> possuir então não retorna nada)
>>>
>>> E na minha tabela está:
>>> R. BELA CRUZ
>>>
>>> e no meu select não retorna nada. Já tentei utilizando CONTAINING e
>>> LIKE.
>>> Mas se a busca for BELA CRUZ, então retorna um resultado porque BELA
>>> CRUZ
>>> está dentro de R. BELA CRUZ. É isso gente, acho que deu para entender.
>>> Obrigado a todos!




Mais detalhes sobre a lista de discussão lista