¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Búsquedas FULLTEXT en MySQL con AND y OR (BOOLEAN MODE)

Búsquedas FULLTEXT en MySQL con AND y OR (BOOLEAN MODE)

Anuncios
Publicidad

En Hablemos de informática seguimos profundizando en MySQL y los índices FULLTEXT, una parte clave para mejorar el rendimiento y la calidad de las búsquedas en bases de datos grandes como Employees.

En este artículo veremos cómo usar AND y OR en búsquedas FULLTEXT usando BOOLEAN MODE, además de entender por qué algunas consultas no devuelven resultados.

Recordatorio: índice FULLTEXT en Employees

Para que los ejemplos funcionen, recuerda que debemos tener creado el índice FULLTEXT:

ALTERTABLE employees

ADD FULLTEXT INDEX indice_nombre_apellido (first_name, last_name);

Búsquedas FULLTEXT con BOOLEAN MODE

El BOOLEAN MODE nos permite usar operadores lógicos como AND (+) y OR, algo muy potente cuando trabajamos con texto.

Búsqueda con AND (obligatorio)

Buscar empleados que tengan Georgi Y Facello

SELECT emp_no, birth_date, first_name

FROM employees

WHEREMATCH(first_name, last_name)

AGAINST('+Georgi +Facello'IN BOOLEAN MODE);

¿Qué significa?

  • El símbolo + indica que la palabra es obligatoria
  • El empleado debe contener ambos valores
  • Funciona como un AND lógico

Variante OR en FULLTEXT

Buscar empleados que tengan Georgi O Facello

SELECT *

FROM employees

WHEREMATCH(first_name, last_name)

AGAINST('Georgi Facello'IN BOOLEAN MODE);

¿Qué está pasando aquí?

  • Al no usar +, MySQL interpreta la búsqueda como OR
  • Devuelve empleados que contengan uno u otro término

¿Por qué esta consulta NO devuelve resultados?

SELECT *

FROM employees

WHEREMATCH(first_name)

AGAINST('Al');

Esta consulta no devuelve resultados porque:

  • "Al" tiene menos de 3 letras
  • MySQL ignora palabras cortas en índices FULLTEXT

Por defecto, el motor FULLTEXT no indexa palabras con menos de 3 caracteres.

Palabras ignoradas en FULLTEXT

FULLTEXT ignora:

  • Palabras muy cortas (menos de 3 letras)
  • Palabras comunes (stopwords)

Esto se hace para:

  • Mejorar el rendimiento
  • Evitar resultados poco relevantes

Ventajas del BOOLEAN MODE

  • Permite AND / OR
  • Control total sobre la búsqueda
  • Ideal para filtros avanzados
  • Mucho más potente que LIKE

Preguntas frecuentes (FAQ)

¿Qué es BOOLEAN MODE en FULLTEXT?

Es un modo de búsqueda que permite usar operadores lógicos como +, -, AND y OR en consultas FULLTEXT.

¿Cómo hago una búsqueda AND en FULLTEXT?

Usando el símbolo + delante de cada palabra obligatoria.

¿Cómo funciona el OR en FULLTEXT?

Si no usas operadores, MySQL interpreta la búsqueda como OR.

¿Por qué MySQL ignora palabras cortas?

Para mejorar el rendimiento y evitar resultados irrelevantes.

¿FULLTEXT es mejor que LIKE?

Sí, especialmente en bases de datos grandes y búsquedas complejas.

Las búsquedas FULLTEXT en BOOLEAN MODE son una herramienta imprescindible si quieres dominar MySQL a nivel práctico. Entender cómo funcionan AND, OR y las limitaciones de palabras cortas te ahorrará muchos errores.

En Hablemos de informática apostamos por aprender con ejemplos reales y explicaciones sencillas 💡.

Guarda este artículo y sigue aprendiendo con nosotros.

Te puede interesar:

Seguir leyendo:

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja un comentario

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
error: Content is protected !!
Scroll al inicio
Hablemos de informática
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.