Búsqueda Full-Text

Implementa búsqueda de texto completo en MySQL: índices full-text, MATCH AGAINST, modos de búsqueda natural y booleano, expansión de consulta y el parser ngram para idiomas CJK.

La búsqueda full-text de MySQL proporciona capacidades de búsqueda de texto mucho más sofisticadas que el operador LIKE con comodines. Mientras que LIKE simplemente busca subcadenas, la búsqueda full-text analiza el texto en palabras, construye un índice invertido y calcula una puntuación de relevancia para cada resultado, permitiendo búsquedas en lenguaje natural similares a las de un motor de búsqueda web.

Esta sección explica cómo crear índices full-text sobre columnas de texto, cómo usar la sintaxis MATCH ... AGAINST para realizar búsquedas con relevancia, y las diferencias entre los modos disponibles: búsqueda en lenguaje natural (que excluye palabras muy comunes llamadas stopwords y ordena por relevancia), búsqueda booleana (que permite usar operadores + y - para controlar qué palabras deben o no deben aparecer) y expansión de consulta (que amplía automáticamente la búsqueda con palabras relacionadas). También se incluye el parser ngram para soporte de idiomas sin espacios entre palabras como el chino o el japonés.

La búsqueda full-text de MySQL es una excelente opción para implementar funcionalidades de búsqueda en sitios web, blogs, catálogos de productos y cualquier aplicación que maneje grandes volúmenes de texto, sin necesidad de integrar un motor de búsqueda externo como Elasticsearch.

Artículos