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