PGFoundry realmente tem projetos muito bons, eu espero não ter que abandonar o tsvector @@ tsquery =(
Gostei bastante e o resultado parece muito satisfatório 2009/5/25 Rafael Domiciano <[email protected]> > Olá jorge, > > Eu encontrei o mesmo problema que você quando eu estava implementando o > FTS, não consegui encontrar nada para que eu consegui-se resolver esse > problema. > > Depois de um tempo eu descobri um cara que é usado junto ao FTS, que cria > todas as possibilidade possíveis para o campo indexado, infelizmente não > implementei ele, e portanto não lembro qual era a contrib para isso. > > talvez se você der uma procurada no pgfoundry [1], foi lá que eu achei ele. > > [1] http://pgfoundry.org/ > > Rafael Domiciano > > 2009/5/25 Jorge Vilela <[email protected]> > > Pessoal >> Agora eu encuquei com isso.... É assim mesmo que todo mundo faz FULL-TEXT >> SEARCH no postgres? >> >> >> >> TO_TSVECTOR(ARRAY_TO_STRING(SHOW_TRGM(campo), ' ')) @@ >> TO_TSQUERY('meia_palavra') >> >> >> >> O que está acontecendo é que: SHOW_TRGM não retorna todas as >> possibilidades! Vejam: >> >> banco=# select array_to_string(show_trgm('monitor'), ' '); >> array_to_string >> --------------------------------- >> m mo ito mon nit oni or tor >> (1 registro) >> >> >> Logo, se a pessoa pesquisar por 'monit', não encontrará nada no math @@ >> >> Alguém já conseguiu implementar pesquisa FULL-TEXT no postgres? >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> 2009/5/23 Jorge Vilela <[email protected]> >> >> Muito obrigado Osvaldo! Era isso mesmo... >>> >>> >>> Segui as instruções e acabei chegando em um SQL assim: >>> >>> banco=# select descricao from tag where >>> to_tsvector(array_to_string(show_tr >>> gm(descricao), ' ')) @@ to_tsquery('monit'); >>> descricao >>> ----------- >>> (0 registros) >>> >>> >>> Existem alguns registros contendo a palavra monitor, porém, se eu >>> procurar por parte da palavra 'monit' não encontra, verifiquei: >>> >>> banco=# select array_to_string(show_trgm('monitor'), ' '); >>> array_to_string >>> --------------------------------- >>> m mo ito mon nit oni or tor >>> (1 registro) >>> >>> >>> Ele não encontrou pois show_trgm não retorna monit... aí o @@ não >>> consegue fazer o math >>> >>> Sendo assim fica impossível utilizar tsvector @@ tsquery em uma busca >>> caso o usuário pesquise por apenas meias palavras? >>> >>> Isso aconteceria com várias palavras =( >>> >>> >>> Alguém tem alguma solução para FULL-TEXT SEARCH em duas ou mais tabelas, >>> onde o usuário possa digitar o que for? >>> >>> >>> Muito obrigado pessoal! >>> Jorge Vilela =] >>> >>> >>> >>> >>> 2009/5/22 Osvaldo Kussama <[email protected]> >>> >>> 2009/5/22 Jorge Vilela <[email protected]>: >>>> > Obrigado Luciano =] >>>> > O show_trgm retorna text[] e to_tsvector e to_tsquery recebem text. >>>> > Alguém sabe como converter? Eu tentei algo do tipo: Select [...] WHERE >>>> > to_tsvector(show_trgm(campo)::text) [...] ... Mas o banco não >>>> consegue >>>> > converter =( >>>> > >>>> > Jorge >>>> > 2009/5/22 Luciano Mittmann <[email protected]> >>>> >> >>>> >> Boa tarde Jorge, >>>> >> >>>> >> Dia desses procurei algo parecido com isso no histórico da lista e >>>> >> encontrei algo que pode te ajudar: >>>> >> >>>> >> >>>> >> >>>> http://listas.postgresql.org.br/pipermail/pgbr-geral/2008-August/011406.html >>>> >> >>>> >> Trata-se de uma discussão sobre busca por meias palavras utilizando o >>>> >> tsearch. >>>> >> >>>> >> >>>> >> Luciano Mittmann. >>>> >> >>>> >> 2009/5/22 Jorge Vilela <[email protected]> >>>> >>> >>>> >>> Bom dia pessoal! >>>> >>> Tenho uma busca em duas tabelas (Produto e marca) >>>> >>> O SQL é +/- assim: >>>> >>> SELECT produto.descricao, marca.descricao FROM produto JOIN marca ON >>>> >>> (produto.id=marca.id) >>>> >>> WHERE to_tsvector(to_ascii(produto.descricao) || ' ' || >>>> >>> to_ascii(marca.descricao)) @@ to_tsquery(to_ascii('STRINGDEBUSCA')) >>>> >>> >>>> >>> >>>> >>> O problema é que esse tipo de busca FULL-TEXT não funciona como >>>> %like%. >>>> >>> Se eu buscar por "COMPUTAD" ele não encontra "COMPUTADOR". >>>> >>> >>>> >>> Alguém conhece alguma forma de melhorar a busca com to_tsvector e >>>> >>> to_tsquery? >>>> >>> _______________________________________________ >>>> >>>> >>>> >>>> Se eu entendi corretamente tente a função array_to_string(anyarray, >>>> text). >>>> http://www.postgresql.org/docs/current/interactive/functions-array.html >>>> >>>> Osvaldo >>>> _______________________________________________ >>>> pgbr-geral mailing list >>>> [email protected] >>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>>> >>> >>> >> >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >> > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
