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.
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 |