2008/8/26 <[EMAIL PROTECTED]>

> Bom dia colegas
>
> Estive lendo um artido do Coutinho Costa na revista Linux Magazine que
> explica muito bem o uso basico do TSearch2.
> Fiz testes e estou maravilhado com a rapidez das buscas.
> Mas preciso buscar por meias palavras, com like eu consigo, por
> exemplo se quero buscar 'rodrigo machado' eu digito 'rod macha' ou
> 'drigo ado'.
>
> Tem como fazer isto com o tsearch?



     Trabalhei bastante com TSearch2 na versão 8.1 e 8.2 do postgresql, e
posso afirmar que, nessas versões, onde o mesmo ainda era um *"contrib"* (a
partir da versão 8.3 estão no *"core"* do PostgreSQL), e posso afirmar que
não é possível.

      Nessas versões (e acredito muito que na 8.3 também) ele funciona
obtendo o "radical" das palavras que você digita, a indexação do texto é com
base nesses radicais. Assim, o texto indexado "Rodrigo Rocha Machado" seria
algo como "9:roch 1:rodrig 16:machad" (do menor radical para o maior) e o *
match* com "rod macha" não seria possível. Contudo, existem outros *contribs
*que podem lhe auxiliar nesse tipo de comparação. O "pg_trgm" é um exemplo.


-- 
William Leite Araújo
Analista de Banco de Dados - QualiConsult
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a