2009-06-21 17 views
7

Tengo MySQL en alojamiento compartido. ¿Hay alguna manera de cómo cambiar el valor de ft_min_word_len sin acceso de administrador?¿Puedo cambiar "ft_min_word_len" en el alojamiento compartido?

Encontré una solución, donde cada palabra que tiene menos de 4 caracteres se complementa con _ u otra char, y lo mismo se hace con cada palabra clave buscada que tiene menos de 4 caracteres.

¿Hay alguna mejor o limpiador forma de hacer que la búsqueda de texto completo funcione para palabras cortas?

Respuesta

14

Desafortunadamente, ft_min_word_len es una variable de sistema global y no se puede establecer dinámicamente: ver MySQL's online docs. Cambiarlo significaría reconstruir cada índice FULLTEXT, por cierto, para que pueda ver por qué no quieren que los no administradores se metan con él.

Me temo que su solución (o algo totalmente equivalente) es la única manera de resolver el problema en su situación. ¡Lo siento! (¡Pero, cumplidos por pensarlo!).

+0

* Si * tenía privilegios de administrador: no he probado esto, pero si sus datos son estáticos probablemente podría establecer 'ft_min_word_len = 1' temporalmente, reinicie el servidor, construya su base de datos e índice, y cuando esté hecho restablecer 'ft_min_word_len' y reiniciar nuevamente. Su base de datos se quedaría con el índice que desea? – SK9

+0

Uso xampp, ¿cómo puedo encontrar 'ft_min_word_len'? – Shafizadeh

+1

@Sajad, eche un vistazo a http://stackoverflow.com/questions/3706182/xampp-mysql-setting-ft-min-word-len –

0

Sé que esto es una entrada antigua, pero si alguien tiene acceso shell al servidor (aun cuando no root) y herramientas de cliente de MySQL que podría hacer

myisamchk --recover --ft_min_word_len=2 mytable.MYI 

De todos modos además probablemente tiene que programar esto para ejecutar cada día para incluir nuevos valores, también.

Cuestiones relacionadas