Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/12/2014, 09:54
Avatar de fbedia
fbedia
 
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Búsquedas por texto

Hola a tod@s!
Tengo una base de datos de "peliculas" y quiero que el usuario pueda buscar por título...

¿Que me recomiendan? Usar "LIKE", "MATCH () AGAINST ()"...?

Por lo que tengo entendido, es mejor MATCH AGAINST... pero no se como hacer la query correctamente. Si usar IN BOOLEAN MODE o WITH QUERY EXPANSION... así como el uso de algunos operadores + - * etc...

Por ejemplo, si quiero buscar la pelicula "El señor de los anillos":

Código MySQL:
Ver original
  1. SELECT titulo FROM videos WHERE MATCH(titulo) AGAINST ('anillo')
Esta consulta no me devuelve resultados... por lo que no me vale

Código MySQL:
Ver original
  1. SELECT titulo FROM videos WHERE MATCH(titulo) AGAINST ('anillos')
Esta si me devuelve bien la pelicula

Otro ejemplo, es que para buscar la pelicula "VHS":
Código MySQL:
Ver original
  1. SELECT titulo FROM videos WHERE MATCH(titulo) AGAINST ('VHS')
No me devuelve resultados, ya que solo son 3 caracteres y tiene que ser a partir de 4

¿Me pueden ayudar con la Query?
Me gustaria por ejemplo que con las siguientes busquedas devolviese la pelicula del Señor de los anillos:
- anillo
- señor de los
- señor de los anillos

NOTAS:
La tabla es MyISAM y la columna "titulo" la tengo como FULLTEXT
__________________
Follow me on twitter @franbedia

Última edición por gnzsoloyo; 30/12/2014 a las 09:59