Foros del Web » Programando para Internet » PHP »

crear buscador

Estas en el tema de crear buscador en el foro de PHP en Foros del Web. Hola, quiero implementar un buscador en mi web pero no se como hacer uno en condiciones. Hasta el momento para buscar cadenas usaba en la ...
  #1 (permalink)  
Antiguo 25/08/2006, 19:10
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 12 años, 7 meses
Puntos: 0
crear buscador

Hola, quiero implementar un buscador en mi web pero no se como hacer uno en condiciones. Hasta el momento para buscar cadenas usaba en la consulta el %like% pero es muy generico y me encuentra resultados que no tienen nada que ver.

Alguien me podria comentar como hacerlo más preciso?

Un saludo!
__________________
Saludos!
  #2 (permalink)  
Antiguo 25/08/2006, 19:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías usar busquedas "Full text search" (busquedas de texto completo).

Tienes un manual al respecto en:
http://www.mysql-hispano.org/page.php?id=15

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 25/08/2006, 19:32
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 6 meses
Puntos: 2
Este tema (a mi forma de ver) radica en la base de datos. Si nosotros guardamos todos los contenidos juntos las busquedas son genericas como tu dices, ahora si tenemos todo debidamente separado esta busqueda es un poco menos generica si lo que implementamos son busquedas por campos o temas especificos.

Si tus consultas no se pueden hacer menos "genericas" no hay mucho que hacer. PHP no participa en casi nada en una busqueda. Hay varias cosas que podrias hacer para que la busqueda filtre mas o menos. Por ejemplo, cuando se escribe dos o mas palabras en la busqueda se puede hacer que busque menos resultados si hacemos la consulta del tipo like '%una dos tres%', ahora si queremos que busque y traiga mas resultados podemos hacer like '%una%dos%tres%' (separando las palabras con PHP).... tenes que enfocarte en este tipo de cosas, no en la parte de la programacion.

Saludos y espero haberte sido de ayuda.
  #4 (permalink)  
Antiguo 25/08/2006, 19:34
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 6 meses
Puntos: 2
Cita:
Iniciado por Cluster Ver Mensaje
Podrías usar busquedas "Full text search" (busquedas de texto completo).

Tienes un manual al respecto en:
http://www.mysql-hispano.org/page.php?id=15

Un saludo,
No conocia sobre esto. Tomo nota.
  #5 (permalink)  
Antiguo 25/08/2006, 20:16
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 12 años, 7 meses
Puntos: 0
Está genial el articulo Cluster, eres un genio.

Solo una pregunta porque una cosa no me funciona, los ejemplos de ahi si, pero al intentar implantarlo en mi tabla no.

El tema está en que ya tenia dos campos creados TEXT (FULLTEXT, no?)

En el ejemplo cuando creaban un campo FULLTEXT lo hacian asi:

CREATE TABLE nombreTabla( campo1 TIPO, campo2 TIPO,
FULLTEXT [nombreIndice] (campo1 [campo2,...]) );

Tengo que modificar mis campos para que funcionen?

Saludos!
__________________
Saludos!
  #6 (permalink)  
Antiguo 25/08/2006, 20:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El mismo tutorial indica un "ALTER" por si tu ya tienes tu estructura de tu tabla creada:

Cita:
La siguiente sentencia también se puede usar para crear un índice cuando la tabla ya existe.

ALTER TABLE nombreTabla ADD FULLTEXT [nombreIndice] (campo1 [,campo2,...]);
(lo dice en la primera pàgina del tutorial)

Cita:
Está genial el articulo Cluster, eres un genio
El "génio" es el autor que firma ese tutorial. Yo sòlo uso google, tomo nota y luego doy a conocer a quien no lo conozca (de hecho www.mysql-hispano.com está en mis favoritos, todos los artìculos no tienen desperdicio sobre BBDD y centrado en Mysql)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 26/08/2006, 06:04
 
Fecha de Ingreso: mayo-2005
Ubicación: Muy lejos de aquí
Mensajes: 367
Antigüedad: 12 años, 7 meses
Puntos: 0
Mirar que problema tengo con esto, no lo entiendo! http://www.forosdelweb.com/f21/problema-con-against-match-420379/
__________________
Saludos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:33.