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

busqueda en temas relacionados busqueda en temas relacionados busqueda en temas re

Estas en el tema de busqueda en temas relacionados busqueda en temas relacionados busqueda en temas re en el foro de Mysql en Foros del Web. cual seria la manera de buscar en temas relacionados en la base de datos? Me feriero a como tiene que estar el campo de la ...
  #1 (permalink)  
Antiguo 28/02/2012, 01:43
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 14 años, 5 meses
Puntos: 6
busqueda en temas relacionados busqueda en temas relacionados busqueda en temas re

cual seria la manera de buscar en temas relacionados en la base de datos?
Me feriero a como tiene que estar el campo de la tabla donde estan los titulos del tema y como seria la consulta para buscar 3 o mas palabras? relacionadas con el tema? Gracias
  #2 (permalink)  
Antiguo 28/02/2012, 03:05
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

Depende de lo que quieras hacer o cómo tengas diseñada la db. No depende mucho de la estructura sino de cómo hagas las selects. Puedes tener la información de cualquier manera y usar match_against para obtener resultados, o simples selects. Cualquier campo que contenta strings deberá tipo texto, char o varchar. Tal vez si especificas un poco la pregunta la respuesta puede ser un poco más concreta. Saudos
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 28/02/2012, 03:12
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

Hola repara2 gracias por tu respuesta, lo que intento es buscar una cadena con varias palabras, estoy intentando algo asi:


Código MySQL:
Ver original
  1. $consulta= mysql_query("SELECT titulo FROM temas
  2. WHERE MATCH (titulo) AGAINST ('$titulo')  LIMIT 10");

pero no me devuelve nada :s, el campo titulo es FULLTEXT, que puede andar mal?
  #4 (permalink)  
Antiguo 28/02/2012, 03:18
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

La primera cosa que se me ocurre es esta:
Error Code : 1214
The used table type doesn't support FULLTEXT indexes

Doy por hecho que entiendes inglés: http://forums.mysql.com/read.php?107...677#msg-194677

http://forums.mysql.com/read.php?106,258266,258266
__________________
Fere libenter homines, id quod volunt, credunt.
  #5 (permalink)  
Antiguo 28/02/2012, 03:25
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

Gracias repara2, bueno no soy un experto en bases de datos pero si no entendí mal esto quiere decir que solo las tablas MyISAM soportan fulltext? pero entonces MyISAM es diferente a Mysql? estoy algo confundido :s
  #6 (permalink)  
Antiguo 28/02/2012, 03:44
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

No, momento. MySQL tiene dos motores: MyISAM e InnoDB. Esto quiere decir que puedes tener tablas tipo MyISAM (por defecto) , InnoDB, Memory, Archive, CSV, etc. Las InnoDB son más modernas y soportan transacciones y otras operaciones pero ocupan más espacio en disco. Las MyISAM no soportan determinados indices ni transacciones pero son ligeras y se utilizan para tablas que no requieran foreign keys.
Si la tabla que te da problemas es de tipo MyISAM, utiliza tu cliente mysql para modificarla y pásala a InnoDB. No sé cómo se hace, depende de la aplicaciń que uses. Si no tenías noticias de esto que te estoy comentando, entonces seguro que todas tus tablas son MyISAM, basta con cambiarles el tipo.
Saludos,
__________________
Fere libenter homines, id quod volunt, credunt.
  #7 (permalink)  
Antiguo 28/02/2012, 03:50
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

Ah, efectivamente mi tabla temas tiene el Storage Engine MyISAM, que es el que soporta el FULLTEXT cierto?
  #8 (permalink)  
Antiguo 28/02/2012, 03:58
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

SOPORTA fulltext, pero lo tienes creado??

Código MySQL:
Ver original
  1. ALTER TABLE `tabla` ADD FULLTEXT `Index` (`campo`);

de lo contrario obtienes:

Error Code : 1191
Can't find FULLTEXT index matching the column list
__________________
Fere libenter homines, id quod volunt, credunt.
  #9 (permalink)  
Antiguo 28/02/2012, 04:06
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

Si lo tenia creado :s ejecute tu codido por si las dudas, pero sigue igual, no me trae ningun resultado, no entiendo que pueda estar pasando pues si quito WHERE MATCH AGAINST me devuelve toodos lo resultados :s
  #10 (permalink)  
Antiguo 28/02/2012, 04:20
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 2 meses
Puntos: 331
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

Entonces es un tema de código, haz echo de la select y pruébala en tu cliente mysql.
__________________
Fere libenter homines, id quod volunt, credunt.
  #11 (permalink)  
Antiguo 28/02/2012, 04:31
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

:s todo se mira bien, no lo entiendo, probare el código en el servidor.
  #12 (permalink)  
Antiguo 28/02/2012, 12:18
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

Hola Vergara:

La consulta se ve bien, por lo que creo que el detalle puede estar en lo que estás tratando de buscar... hace apenas unos días discutía con otro compañero forista acerca de las búsquedas de texto completo, checa este post:

http://www.forosdelweb.com/f86/encon...labras-977068/

la búsqueda AGAINST posee varios tipos de búsquedas (IN BOOLEAN MODE Y WITH QUERY EXPANSION), además también influye la longitud de las palabras que estás tratando de buscar... dale un vistazo a post que te comento para ver si te sirve algo... Si continuas con problemas postea algunos datos de ejemplo de tu tabla y la búsqueda que estás tratando de realizar... creo que es sólo cuestión de afinar algunos pequeños detalles para que la consulta quede.

Saludos
Leo.
  #13 (permalink)  
Antiguo 29/02/2012, 13:42
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 14 años, 5 meses
Puntos: 6
Respuesta: busqueda en temas relacionados busqueda en temas relacionados busqueda en

Hola, gracias leo, bueno al final decidí cambiarme de hosting, estaba experimentando con heroku y xeround que son servicios muy buenos pero tienen sus limitaciones, heroku por ejemplo no tiene habilitada la librería freetype, algo que es esencial para generar imágenes captcha, en fin muchas gracias por tu respuesta leo, repara2
__________________
keubo.com

Etiquetas: relacionados, tabla, temas, busquedas, campos
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 09:58.