2009-06-21 6 views
7

J'ai MySQL sur l'hébergement partagé. Est-il possible de changer la valeur de ft_min_word_len sans accès administrateur?Puis-je changer "ft_min_word_len" sur un hébergement partagé?

J'ai trouvé une solution de contournement, où chaque mot de moins de 4 caractères est complété par _ ou un autre caractère, et la même chose est faite avec chaque mot-clé recherché qui est inférieur à 4 caractères.

Y a-t-il un meilleur ou nettoyant pour que la recherche Fulltext fonctionne pour les mots courts?

Répondre

14

Malheureusement, ft_min_word_len est une variable système globale qui ne peut pas être définie dynamiquement: voir MySQL's online docs. Le changer signifierait reconstruire chaque index FULLTEXT autour, btw, ainsi vous pouvez voir pourquoi ils ne veulent pas que les non-admins s'en servent.

Je crains que votre solution de contournement (ou quelque chose de tout à fait équivalent) soit la seule façon de résoudre le problème dans votre situation. Pardon! (Mais, compliments pour y penser!).

+0

* Si * vous aviez des privilèges d'administrateur: je n'ai pas testé cela, mais si vos données sont statiques, vous pouvez définir provisoirement ft_min_word_len = 1', redémarrer le serveur, construire votre base de données et index, et quand vous êtes done réinitialise 'ft_min_word_len' et redémarre à nouveau. Votre base de données serait alors laissée avec l'index que vous voulez? – SK9

+0

J'utilise xampp, comment puis-je trouver 'ft_min_word_len'? – Shafizadeh

+1

@Sajad, jetez un oeil à http://stackoverflow.com/questions/3706182/xampp-mysql-setting-ft-min-word-len –

0

Je sais que c'est un ancien poste, mais si quelqu'un a un accès shell au serveur (même non root) et des outils client mysql vous pourriez faire de toute façon vous avez propably

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

pour programmer cette option pour exécuter tous les jour pour inclure de nouvelles valeurs, aussi.

Questions connexes