11 Stimme

MySQL Volltextsuche findet nur Worte mit einer Länge von mindestens 4 Buchstaben

Frage von MediMan | 12.06.2012 um 20:10

Ich habe für ein kleines Web-Projekt eine MySQL Volltextsuche implementiert. Ich habe mich dabei strikt an die Anleitungen gehalten, die ich im Internet gefunden habe, aber es funktioniert nicht so, wie es soll. Es werden einfach nicht Wörter mit weniger als 4 Buchstaben gefunden! Dabei gibt es auf meiner Homepage viele Abkürzungen mit 3 Buchstaben, die nun natürlich ganz aus der Suche ausgeschlossen werden.

Meine MySQL Abfrage sieht bisher so aus:

SELECT * FROM tabelle WHERE MATCH (spalte1, spalte2) AGAINST
('+Wort -MySQL' IN BOOLEAN MODE);

Was muss ich daran ändern, damit es endlich funktioniert?

AntwortenPositivNegativ
2Beste Antwort2 Stimmen

Deine MySQL Abfrage ist schon richtig, daran brauchst du nichts ändern. Was den Ausschluss aller Worte unter 4 Buchstaben verursacht, ist eine Einstellung von MySQL, die standardmäßig das Minimum der Wortlänge einer Volltextsuche auf 4 Buchstaben begrenzt.

In deinen MySQL-Systemvariablen befindet sich irgendwo die Zeile:

ft_min_word_len = 4

Das steht für "Full Text Minimum Word Length" und sorgt genau für das Verhalten mit dem Ausschluss der Worte mit 3 Buchstaben. Wenn du diesen Wert änderst, danach den MySQL Server neu startest und anschließend ein "REPAIR TABLE" durchführst, kannst du diese Wortlänge ändern. Ich habe das noch einmal etwas ausführlicher in meinem Tipp Minimale Wortlänge in der MySQL Volltextsuche ändern beschrieben.

Probleme gibt es nur dann, wenn man diese Einstellungen nicht ändern kann, zum Beispiel wenn man seine Homepage bei einem Hoster hat, der keine Einstellungen erlaubt. Für diesen Fall lässt es sich aber immer noch mit einer Kombination aus LIKE und Volltextsuche arbeiten.
13.06.2012 um 21:30

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

Die Askingbox-Suche

Info | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.