Buscador multipalabra en PHP
A continuación os enseño como podéis hacer un buscador en PHP y SQL que acepte una cadena compleja, compuesta por varias palabras, de una manera rápida y sencilla.
Para ilustrar los diferentes pasos pondré de ejemplo la tabla Artículos y los campos donde buscar serán Titulo y Desarrollo.
1) Ir al gestor de la base de datos y ejecutar el comando SQL:
ALTER TABLE ARTICULOS ADD FULLTEXT(TITULO, DESARROLLO);
2) Una vez que tenemos los campos como FULLTEXT en el archivo PHP la consulta que haremos será:
SELECT * , MATCH (TITULO,DESARROLLO) AGAINST (‘$busqueda’) AS puntuacion FROM ARTICULOS WHERE MATCH (TITULO, DESARROLLO) AGAINST (‘$busqueda’) ORDER BY puntuacion DESC
Como podéis comprobar ejecutamos la comprobación MATCH dos veces, la primera es para tenerla como puntuación y la segunda la que ejerce la comparación.
Al tener la puntuación podemos mostrarlas por orden descendente o ascendente teniendo como referencia la cantidad de veces que se encuentre la cadena en dicho texto.
¿Fácil verdad?