6.933 lecturas 3 comentarios

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?