MySQL: Full Text Search para palabras pequeñas



Si, ya se, ahora está de moda usar MongoDB y abandonar SQL a las patadas porque la moda así lo indica, pero a los hechos, el lenguaje SQL es genial y sirve para mucho, así que hago un minipost para programadores que hacen búsquedas Full Text Search (hice esa nota hace 10 años!!) en sus MySQL.

Como sabrán es pesadito hacer este tipo de consultas pero a veces tenemos una cantidad de datos que es manejable, por ejemplo un sitio web, ahora bien, MySQL viene configurado para no buscar palabras menores a 4 caracteres pero he aquí que MUCHAS siglas utilizan sólo tres.

AMD, ARM, OSX, iOS, ADN, RPG, JPG, mierda, no pararía de terminar de enumerarlas, las palabras o siglas de tres caracteres estan por todos lados así que para permitirlo hay que habilitar la cantidad:

en /etc/mysql/my.cnf (o donde tengan el archivo de configuración)

[mysqld]
ft_min_word_len=3

[myisamchk]
ft_min_word_len=3



Y reiniciar el server. Ahora bien, hay que reconstruir los índices y para una tabla con 100.000 registros con texto que pesa 400Mb no es nada raro que se vaya al doble, lo digo por experiencia personal. El índice será enorme porque ahora contendrá muchas, muchas palabras más que si se quedaba en el límite de 4 carateres.

Para reiniciar los índices:

REPAIR TABLE tbl_name QUICK;

A todo esto, me sirvió para incorporar la búsqueda en el Lector de RSS de LinksDV. Si, ahora tienen un lector de feeds con buscador y todo Guiño

Si te gustó esta nota podés...
Invitame un café en cafecito.app


Otros posts que podrían llegar a gustarte...
Respondemos a

Comentarios

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https
Comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador. Los comentarios son filtrados por ReCaptcha V3.