2009-06-21 16 views
7

Ich habe MySQL auf Shared Hosting. Gibt es eine Möglichkeit, den Wert von ft_min_word_len ohne Administratorzugriff zu ändern?Kann ich "ft_min_word_len" auf Shared Hosting ändern?

fand ich ein Problem zu umgehen, wo jedes Wort, das weniger als 4 Zeichen hat mit _ oder einer anderen char ergänzt wird, und das gleiche geschieht mit jedem Stichwort gesucht, die weniger als 4 Zeichen sind.

Gibt es besser, oder Reiniger Weg, um Volltextsuche Arbeit für kurze Worte machen?

Antwort

14

Leider ist ft_min_word_len eine globale Systemvariable und kann nicht dynamisch eingestellt werden: siehe MySQL's online docs. Das Ändern würde bedeuten, jeden FULLTEXT Index umzubauen, also, damit du sehen kannst, warum sie nicht möchten, dass Nicht-Admins damit herumhantieren.

Ich fürchte, Ihre Workaround (oder etwas völlig Gleichwertiges) ist der einzige Weg, um das Problem in Ihrer Situation zu lösen. Es tut uns leid! (Aber, Komplimente dafür, darüber nachzudenken!).

+0

* Wenn * Sie Administratorrechte hatten: Ich habe dies nicht getestet, aber wenn Ihre Daten statisch sind, könnten Sie 'ft_min_word_len = 1' vorübergehend setzen, den Server neu starten, Ihre Datenbank und Index erstellen, und wenn Sie sind Fertig Reset 'ft_min_word_len' und neu starten. Ihre Datenbank würde dann mit dem gewünschten Index verlassen werden? – SK9

+0

Ich benutze xampp, wie kann ich 'ft_min_word_len' finden? – Shafizadeh

+1

@Sajad, werfen Sie einen Blick auf http://stackoverflow.com/questions/3706182/xampp-mysql-setting-ft-min-word-len –

0

Ich weiß, dass dies eine alte Post, aber wenn jemand Shell-Zugriff auf den Server (auch als nicht root) und MySQL-Client-Tools hat könnte man

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

tun Auf jeden Fall müssen Sie propably dies planen jeder laufen Tag, um auch neue Werte einzubeziehen.

Verwandte Themen