2009-06-21 15 views
7

Ho MySQL su hosting condiviso. C'è un modo come cambiare il valore di ft_min_word_len senza l'accesso di amministratore?Posso modificare "ft_min_word_len" su hosting condiviso?

Ho trovato una soluzione alternativa, in cui ogni parola con meno di 4 caratteri è integrata con _ o un altro carattere, e lo stesso viene fatto con ogni parola chiave cercata con meno di 4 caratteri.

C'è del meglio, o cleaner modo di rendere la ricerca di testo completo funziona per parole brevi?

risposta

14

Sfortunatamente, ft_min_word_len è una variabile di sistema globale e non può essere impostata dinamicamente: vedere MySQL's online docs. Cambiarlo significherebbe ricostruire ogni indice FULLTEXT, btw, in modo da poter capire perché non vogliono che i non amministratori ne facciano un casino.

Temo che la soluzione alternativa (o qualcosa di completamente equivalente) sia l'unico modo per risolvere il problema nella tua situazione. Scusate! (Ma complimenti per aver pensato!).

+0

* Se * avevi i privilegi di amministratore: non ho provato questo, ma se i tuoi dati sono statici presumibilmente potresti impostare 'ft_min_word_len = 1' temporaneamente, riavviare il server, creare il tuo database e indice, e quando sei fatto resettare 'ft_min_word_len' e riavviare di nuovo. Il tuo database verrebbe quindi lasciato con l'indice che desideri? – SK9

+0

Io uso xampp, come posso trovare 'ft_min_word_len'? – Shafizadeh

+1

@Sajad, dai uno sguardo a http://stackoverflow.com/questions/3706182/xampp-mysql-setting-ft-min-word-len –

0

So che questo è un vecchio post, ma se qualcuno ha accesso alla shell al server (anche se non root) e gli strumenti client mysql che si possa fare

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

In ogni caso dovrete probabilmente avere pianificare questo per eseguire ogni giorno per includere anche nuovi valori.

Problemi correlati