Estoy desarrollando un buscador en Mysql.
El buscador lo tengo implementado de la siguiente forma (sin contar el autocompletar)
Si se introduce SOLO UNA palabra, usaremos la query:
Cita:
En cambio, si la búsqueda a realizar contiene MÁS DE UNA palabra, se usa la query:SELECT id, name, cartel FROM carteles WHERE name LIKE '%$busqueda%' ORDER BY id ASC LIMIT 5
Cita:
Habiendo alterado la tabla con SELECT id, name, cartel , MATCH (name) AGAINST ('$busqueda') AS score FROM carteles WHERE MATCH (name) AGAINST ('$busqueda') ORDER BY score DESC LIMIT 5
Cita:
Bien, mi problema es que las búsquedas con el MATCH-AGAINST si introduces "menos capa" no te encontraría "menos capacidad", cosa que sí que sería encontrado usando sólo la sentencia LIKE.ALTER TABLE carteles ADD FULLTEXT(name);
¿Es realmente mucho mejor realizar las búsquedas con MATCH-AGAINS que con LIKE?
Mi problema viene porque lo estoy implementando para que funcione con autocompletar (live search), y por tanto, no me sirve o no sé cómo optimizarlo para hacerlo funcionar.
Un saludo y espero que se entienda mi problema (sino comentad y explico con más detalle)