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 <osvaldo.kuss...@gmail.com> > 2009/5/22 Jorge Vilela <jorge.com...@gmail.com>: > > 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 <mittm...@gmail.com> > >> > >> 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 <jorge.com...@gmail.com> > >>> > >>> 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 > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral