systemadmin.es > DBA > Tamaño mínimo para la indexación con FULLTEXT

Tamaño mínimo para la indexación con FULLTEXT

En MySQL anteriores a la 5.6, las tablas MyISAM tienen la ventaja sobre las InnoDB que pueden ser indexadas con FULLTEXT. Uno de los parámetros para indexar estas tablas es el tamaño mínimo de la palabra a indexar.

No podemos indicar esta parámetro por tabla, por lo que debemos hacer el cambio global. La variable es ft_min_word_len:

mysql> SHOW VARIABLES LIKE 'ft_min_word_len';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| ft_min_word_len | 4     |
+-----------------+-------+
1 row in set (0.00 sec)

Para cambiar dicha variable deberemos modificar el my.cnf con el nuevo valor y a continuación reiniciar el MySQL.

Una vez reiniciado podemos comprobar el nuevo valor:

mysql> SHOW VARIABLES LIKE 'ft_min_word_len';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| ft_min_word_len | 3     |
+-----------------+-------+
1 row in set (0.00 sec)

A continuación deberemos reconstruir los índices de las tablas para aplicar el cambio mediante REPAIR TABLE:

mysql> repair table tabla1, tabla2;
+------------------------+--------+----------+----------+
| Table                  | Op     | Msg_type | Msg_text |
+------------------------+--------+----------+----------+
| systemadmin.tabla1     | repair | status   | OK       |
| systemadmin.tabla2     | repair | status   | OK       |
+------------------------+--------+----------+----------+
2 rows in set (1 min 38.75 sec)

mysql> 

Deberemos ver el caso según el contenido, pero debemos tener en cuenta que disminuir el tamaño de la palabra mínimo a ser indexado hace que aumente el tamaño de éste.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>