Hola.. creo que me he vuelto un tanto confuso, sobre todo porque no logro que mi busqueda tenga el 100% de efectividad. EL motivo:
Bueno, quiero que mi buscador encuentre palabras exactas, y palabras coincidentes, de acuerdo a lo que se introduzca, entendiendo que mis campos en la BD estan con FULLTEXT las que quiero que revise de manera mas amplia, entonces,
Si el usuario ingreso 1 sola palabra genero una consulta a la base de datos con un LIKE, de esta manera:
Código PHP:
$query_Rs="SELECT * FROM tabla
WHERE campo1 LIKE LOWER('%$buscar%')
OR campo2 LIKE LOWER('%$buscar%')
SI el usuario ingreso mas de una palabra, genero una busqueda con MATCH AGAINST pero en BOOLEAN MODE, algo asi:
Código PHP:
$query_Rs = "SELECT campo1, campo2, campo3,
MATCH (campo1, campo2)
AGAINST ('$buscar' IN BOOLEAN MODE) AS coincidencias
FROM tabla
WHERE MATCH (campo1, campo2)
AGAINST ('$buscar' IN BOOLEAN MODE)
ORDER BY coincidencias DESC";
pero el problema concreto es el siguiente,
1- Si busco la palabra "Diseño", directamente no me la encuentra, creo que es por la Ñ, aunque no se como solucionar esto de buena a primeras, ya intente cambiar el COLLATE de la BD, pero debo introducir en las tablas con caracteres UTF8, tipo ñ y luego las imprimo con UTF8_DECODE.
2- Si busco "Taller de autos", no me lo reconoce igual que "Taller de Autos", es decir, hace una leve diferencia entre una palabra con mayuscula, y minusculas, aunque sea la misma.
Alguien podria orientarme mejor, o si existe alguna solucion mas apta.
Gracias