Ampliando aún más el post www.diegodicamillo.com.ar/blog/2010/02/22/utilizando-match-against-en-mysql-buscador-php-simple-utilizando-funcionalidades-de-mysql/#sthash.CkCMy91Q.dpuf utilizando el modificador IN BOOLEAN MODE con el uso del asterisco * en el query
$q = «*KIT*»
Por más que existieran frases como «KIT DE PEDALES Y PALANCAS» las mismas no matcheaban y no eran incluídas en los resultados.
Investigando un poco, encontré que hay un parámetro en el archivo de configuración de mysql llamado /etc/mysql/my.cnf
el parámetro en cuestión es:
ft_min_word_len
El mismo por defecto está en 4 (signiifica matchear palabras de 4 o más caracteres)
Asi que, si tienes acceso al archivo modifica el valor a 2 ó 1 (atención: bajar el valor hace que el proceso demore más)
ft_min_word_len = 2
Debes reiniciar el servicio mysqld (servidor de mysql).
Luego en cada tabla donde tengas el indice FULL TEXT debes ejecutar el sql:
REPAIR TABLE table_name QUICK;
donde table_name es el nombre de cada una de las tablas con el índice.
Luego si puedes realizar búsquedas de palabras más cortas.
Sin comentarios a “MATCH AGAINST MYSQL | NOT MATCH PHRASES SHORTS USING «*» IN BOOLEAN MODE”
Por favor espera
Deja una respuesta