Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

consulta de un buscador

Estas en el tema de consulta de un buscador en el foro de Mysql en Foros del Web. Hola, estoy realizando un buscador en la pagina web que estoy elaborando para buscar el contenido. La idea seria controlar por php que el texto ...
  #1 (permalink)  
Antiguo 24/11/2010, 10:33
 
Fecha de Ingreso: junio-2006
Ubicación: España
Mensajes: 122
Antigüedad: 17 años, 10 meses
Puntos: 2
consulta de un buscador

Hola, estoy realizando un buscador en la pagina web que estoy elaborando para buscar el contenido.

La idea seria controlar por php que el texto a buscar sea de 3 caracteres o más

la tabla donde buscare los datos, los buscaré en 3 campos de esa tabla

yo sólo conozco el LIKE para hacer esto,

entonces;

SELECT * from tabla where campo1 like '%texto%' or campo2 like '%$texto.' or campo3 like '%texto%'

y mi pregunta: he visto ejemplos de gente que usa el like cuando sólo hay una palabra de búsqueda, y he visto que usan un tal "AGAINST MACH"

Entonces, teniendo en cuenta que los 3 campos de mi tabla, probablemente tengan más de 1 palabra cada uno. ¿de esta manera, sería correcta?

.gracias
  #2 (permalink)  
Antiguo 24/11/2010, 11:07
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: consulta de un buscador

Saludos

De esa manera seria la correcta siempre y cuando tu tabla sea no sea de tipo INNODB ya que MATCH AGAINST no funcionara!-
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 24/11/2010, 11:49
 
Fecha de Ingreso: junio-2006
Ubicación: España
Mensajes: 122
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: consulta de un buscador

hola, gracias por contestar, no entendi tu respuesta, yo me refiero si seria buena opción hacerlo con el LIKE (mis tablas son inoodb)
  #4 (permalink)  
Antiguo 24/11/2010, 12:37
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: consulta de un buscador

Saludos

Cuando es una sola palabra se utiliza LIKE

Por ejemplo
Cita:
LIKE '%facturas%
Pero si es mas de una expresion a buscar

Por ejemplo
Cita:
LIKE '%facturas ventas%
Ya no podrias utilizar LIKE ya que la consulta no te arrojara los datos esperados

Tampoco MATCH AGAINST ya que no es soportado sobre tablas de tipo InnoDB
__________________
:.:Nano.:: @nano_hard - Retornando al foro

Última edición por Nano_; 24/11/2010 a las 12:45
  #5 (permalink)  
Antiguo 24/11/2010, 13:35
 
Fecha de Ingreso: junio-2006
Ubicación: España
Mensajes: 122
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: consulta de un buscador

gracias por contestar otra vez, pero veo que con esto tendre problemas, mira uno de mis campos es "tags" que serian etiquetas, es decir, palabras clave para buscar la información principal para mostrar en la pagina. Las etiquetas la tengo en un mismo campo y las separo por espacio, por ej; deporte futbol carlos.

si yo al buscador pusiera 'carlos deporte' no me encontraría resultado alguno, ya que no estan juntas las palabras y no lo detectaría, lo que yo quiero llegar hacer, es que aunque las ponga separadas, me lo saque por resultado.

gracias de nuevo
  #6 (permalink)  
Antiguo 25/11/2010, 06:28
 
Fecha de Ingreso: junio-2006
Ubicación: España
Mensajes: 122
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: consulta de un buscador

hola, he estado mirando y tengo dudas, he visto que para hacer este tipo de busqueda se usa el against match, pero para ellos hay que añadirlos en fulltext, pero com bien ha dicho el usuario anterior, como mis tablas son del tipo inobd, no puedo asignarle el fulltext. entonces ¿que tipo uso? debo entonces de borrar todas las tablas y poner todas con el mismo tipo? mi tabla en si donde buscare los datos es la principal, y esta tiene 4 FK.

gracias.

Etiquetas: buscadores
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 11:56.