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

Responder a