En este apartado se estudiará la forma de realizar búsquedas a través de MATCH AGAINST y al final del apartado un ejemplo de LIMIT.
Antes de nada, para poder realizar búsquedas con MATCH AGAINST hay que configurar la tabla y las columnas de dónde se quiere extraer esa información.
La tabla ha de ser del tipo: MYISAM.
Las columnas han de ser del tipo FULLTEXT.
Ejemplo de conversión de una tabla existente ...
ALTER TABLE tabla ADD FULLTEXT(columna1, columna2, columna3) SET storage_engine=MYISAM; ALTER TABLE tabla ENGINE = MyISAM;
Con esto sería suficiente para utilizar MATCH AGAINST
Para que quede más claro sigue los pasos del ejemplo siguiente ...
1- Crear una tabla con dos campos.
$consulta = "CREATE TABLE busca(columna1 VARCHAR(100), columna2 VARCHAR(100)) ENGINE=MYISAM COLLATE=latin1_spanish_ci";
2- Convertir las columnas en FULLTEXT
$consulta = "ALTER TABLE busca ADD FULLTEXT(columna1, columna2)";
3 - Insertar 3 registros ...
$consulta = "INSERT INTO busca(columna1, columna2)"; $consulta .= "VALUES('El coche no funciona', 'España está en crisis')"; $consulta = "INSERT INTO busca(columna1, columna2)"; $consulta .= "VALUES('La moto no funciona', 'No tengo gasolina')"; $consulta = "INSERT INTO busca(columna1, columna2)"; $consulta .= "VALUES('Busca y encuentra', 'Pepito está en la calle')";
4 - Realizar la búsqueda, vamos a buscar la palabra 'moto'...
$consulta = "SELECT columna1, columna2 FROM busca WHERE MATCH(columna1, columna2) AGAINST ('%moto%' )";
Y El resultado de la consulta es ...
La moto no funciona - No tengo gasolina
Puedes probar y cambiar el patrón de búsqueda si existe te devolverá las filas dónde ha sido encontrado.
LIMIT: permite limitar la extracción de resultados.
En el ejemplo anterior teníamos tres filas, podemos hacer un SELECT y extraer todas las filas pero, ¿Y si queremos extraer tan sólo las dos primeras filas? ...
$consulta = "SELECT * FROM busca LIMIT 0, 2";
El resultado de la consulta sería la extracción de las dos primeras filas ...
El coche no funciona - España está en crisis
La moto no funciona - No tengo gasolina
No hay comentarios:
Publicar un comentario