En este capítulo vamos a ver otro tipo de búsqueda denominada MATCH AGAINST. Dicha construcción se puede utilizar en columnas en las que hemos creado índices FULLTEXT. Con estas clausulas se pueden hacer búsquedas en lenguaje natural como por ejm un buscador de Internet.
A diferencia de WHERE o WHERE LIKE, MATCH AGAINST permite introducir varias palabras en una consulta de búsqueda y las compara con todas las palabras de la columna FULLTEXT.
Los índices FULLTEXT son insensibles a mayúsculas y minúsculas.
Hacer una consulta
La sintaxis utilizada es la siguiente.
Ejm
SELECT * FROM ejemplo.contactos WHERE MATCH(direccion) AGAINST('Camino Villaverde');
Los campos según los cuales queremos hacer la consulta debemos ponerlos dentro de los paréntesis del MATCH(). El nombre de los campos que escribamos deben tener el índice FULLTEXT, en nuestro caso, como vimos en el capítulo pasado, el campo que tiene el índice FULLTEXT es el campo direccion. En la palabra reservada AGAINST escribiremos lo que queremos buscar, en nuestro caso Camino Villaverde. Si tuviésemos un registro cuya dirección es Camino Viejo de Villaverde, en la búsqueda mostraría dicho registro ya que busca las palabras que se encuentran en ese registro. A esto es a lo que nos referimos cuando decimos que se usa el lenguaje natural.
Este tipo de búsquedas es ideal para los buscadores, donde tenemos que buscar cierta cantidad de palabras dentro de textos muy grandes.