Até agora está bem estável o 8.4... Muito bons os links sugeridos pelo Euler, vou dar uma estudada. Obrigado
2009/6/15 mateusgra <mateus...@bol.com.br> > > > > Euler Taveira de Oliveira-2 wrote: > > > > mateusgra escreveu: > >> Gostaria de saber se o Tsearch tem como localizar um texto que comece > com > >> uma determinada palavra com se fosse o like 'POSTGRESQL 8.2%'. > >> > > Você _não_ entendeu o conceito de busca textual [1] (aka text _search_); > > quando se transforma um texto no tipo tsvector, este "perde" > > posicionamento e > > "ganha" peso (relevância) e proximidade. Assim, sem posicionamento é > > impossível fazer uma comparação com prefixo do texto. O uso do :* nos > > deixa > > comparar com o prefixo de *cada* lexema. > > > > O que você precisa é de expressões regulares [2]. Veja: > > > > euler=# create table bar (a text); > > CREATE TABLE > > euler=# insert into bar select 'euler taveira de oliveira' from > > generate_series(1, 10); > > INSERT 0 10 > > euler=# insert into bar select 'jorge vilela' from generate_series(1, > > 5000); > > INSERT 0 5000 > > euler=# create index bari on bar (a text_pattern_ops); > > CREATE INDEX > > euler=# select * from bar where a ~ '^euler'; > > a > > --------------------------- > > euler taveira de oliveira > > euler taveira de oliveira > > euler taveira de oliveira > > euler taveira de oliveira > > euler taveira de oliveira > > euler taveira de oliveira > > euler taveira de oliveira > > euler taveira de oliveira > > euler taveira de oliveira > > euler taveira de oliveira > > (10 rows) > > > > euler=# explain analyze select * from bar where a ~ '^euler'; > > QUERY PLAN > > > > > --------------------------------------------------------------------------------------------------------------------- > > Bitmap Heap Scan on bar (cost=4.35..25.17 rows=10 width=13) (actual > > time=0.101..0.224 rows=10.00 loops=1.00) > > Filter: (a ~ '^euler'::text) > > -> Bitmap Index Scan on bari (cost=0.00..4.35 rows=10 width=0) > > (actual > > time=0.055..0.055 rows=10.00 loops=1.00) > > Index Cond: ((a ~>=~ 'euler'::text) AND (a ~<~ 'eules'::text)) > > Total runtime: 0.334 ms > > (5 rows) > > > > > > [1] http://www.postgresql.org/docs/8.4/static/textsearch.html > > [2] > > > http://www.postgresql.org/docs/8.4/static/functions-matching.html#FUNCTIONS-POSIX-REGEXP > > > > > > -- > > Euler Taveira de Oliveira > > http://www.timbira.com/ > > _______________________________________________ > > pgbr-geral mailing list > > pgbr-geral@listas.postgresql.org.br > > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > > > > -- > View this message in context: > http://www.nabble.com/TSearch-palavar-Inicial-tp24035502p24042078.html > Sent from the PostgreSQL - Brasil mailing list archive at Nabble.com. > > _______________________________________________ > 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