Re: tsearch2 vs. like

From: Jose Maria Mencia Fernandez <jmencia(at)alimarket(dot)es>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: tsearch2 vs. like
Date: 2008-02-20 08:20:50
Message-ID: 1203495650.12090.14.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El mar, 19-02-2008 a las 15:26 -0300, Alvaro Herrera escribió:
> Jose Maria Mencia Fernandez escribió:
> >
> > > ¿Cuales? No todas funcionan de la misma forma.
> > No entiendo muy bien la pregunta ¿cuales? pero realmente me he limitado
> > a consultas del tipo LIKE '%xxxx%'. No se me ocurre otra forma de buscar
> > cualquier cadena de texto en cualquier posición de un campo de texto.
>
> Supongamos que tienes almacenado en la BD "Farmacia La Guájira".
> ¿Cuáles son los criterios de búsqueda que quieres que te entregue ese
> registro? Si el usuario ingresa "cia", ¿debe aparecer? ¿si ingresa
> "la"? ¿si ingresa "guaj"? ¿Si ingresa "farmacias"?
>

Normalmente el usuario obviará en la cadena de búsqueda palabras y
caracteres poco determinantes para el nombre. En el ejmplo que me pones
seguramente nunca se harán búsquedas por 'La' (aunque no las descarto)
pero sí por cualquier substring dentro de los términos 'Farmacia' y
'Guájira'. Con decir, substring también estoy asumiendo que no se
necesita búsquedas por 'farmacias', por ejmeplo, ya que excede la
longitud y contenido de la palabra 'Farmacia'.
Mi objetivo es encontrar este registro con criterios como:
'farmacia jira'
'farma'
'guaj'
'cia ajir'
'FARMACIA GUAJIRA'
'Guajira'
'Farmacia la'
etc ...
En la parte de aplicación me encargaría de reemplazar los caracteres
'blanco' por el comodín pertinente a usar en la sentencia SQL.

Espero haberme explicado ...

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jose Maria Mencia Fernandez 2008-02-20 08:48:18 Re: Re[2]: tsearch2 vs. like
Previous Message Shane Ambler 2008-02-20 08:06:16 Re: How to create a new user with password in commandline with no prompt for password