Re: Re[2]: tsearch2 vs. like

From: Jose Maria Mencia Fernandez <jmencia(at)alimarket(dot)es>
To: Ever Daniel Barreto Rojas <ebarreto(at)nexusit(dot)com(dot)py>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Re[2]: tsearch2 vs. like
Date: 2008-02-20 08:48:18
Message-ID: 1203497298.12090.33.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda


> yo me enfrenté al mismo problema, tengo una tabla con aprox. 5
> millones de registros de nombres de personas, y necesitaba realizar
> búsquedas de la forma que mencionas y eran muy lentas, aunque las
> búsquedas del tipo 'XX%' si eran rápidas (gracias a algunos
> consejos que me dio álvaro, puedes verlos en el histórico de la
> lista)
>
> básicamente, mi problema pude resolverlo usando tsearch, ya que el
> objetivo era (y es) buscar nombres de personas, en mi escenario, en
> un 90% de los casos se necesitan buscar nombres que contienen por
> ejemplo "EVER" y "BARRETO" y "ROJAS", y las búsquedas que necesiten
> nombres que empiecen por "EVER" o "BARRET%" eran MUY pocas, y para
> las búsquedas del tipo %XXX% que en mi caso eran búsquedas del tipo
> nombres que contengan EVER y BARRETO lo solucioné con el tsearch
¿Serías tan amable de indicarme qué diccionario y configuración usas
(simple, default ...)?
¿Cómo escribes las búsquedas? En las pruebas que he realizado nunca he
conseguido con tsearch (nombre @@ to_tsquery('xxx')) los mismos
resultados que con like '%xxx%'. Parece que tsearch sólo devuelve
nombres que empiecen por 'xxx%' o que contienen 'xxx' como palabra
completa dentro del texto.
Por ejemplo,
* una consulta con tsearch: nombre_empresa @@ to_tsquery('ALUM'), me
devuelve 9 registros como
ALUMINIOS HERNANSANZ, S.L.
TEXFIL GANDUXER ALUM, S.A.
* una consulta con like '%ALUM%' me devuelve 272 registros como
APLICACIONES DEL ALUMINIO, S.A. (ADASA)
HISPANO AMERICANA DEL ALUMBRADO, S.A.

>
> de todas formas, uno de los participantes de la lista pgsql-admin
> (si mal no recuerdo) había publicado en su blog como mejorar el
> tiempo de las búsquedas del tipo '%XX%', busca en google por
> "depesz" y encontrarás su blog

Muchas gracias por tus indicaciones.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Rajiv Rajaian 2008-02-20 09:15:50 Re: How to create a new user with password in commandline with no prompt for password
Previous Message Jose Maria Mencia Fernandez 2008-02-20 08:20:50 Re: tsearch2 vs. like