Olli: Fulltext im MySQL mit weniger als vier Zeichen

Hallo,

ich will Teile meiner MySQL DB durchsuchen lassen. Dazu habe ich mich für eine Fulltext-Indizierung entschieden. Das funktioniert jetzt auch schon ganz gut so. Problem ist allerdings die Begrenzung, dass erst Worte ab 4 Zeichen gefunden werden. Eine INI-Umstellung lässt mein Provider nicht zu, bietet mir dafür einen Space an, der das 8fache! des aktuellen Spaces kostet. Das ist mir die Sache nicht wert, deshalb suche ich nach einigermaßen performanten Möglichkeiten, doch nach Begriffen < 4 Zeichen zu suchen.

Ein Like finde ich grundsätzlich zu langsam, habe im Moment ca. 1GB an Daten die es zu durchsuchen gilt, langsam aber stetig steigend.

Eine Kombination aus Fulltext und Like bei Worten < 4 Zeichen wäre evtl. möglich, da stört mich allerdings, dass ich keine vernünftige Lösung finde, die Relevanzen anzupassen. D.h. jemand sucht nach abcd efg. Dann würde der Volltext für abcd ja nach Relevanz sortieren. Die Like-Suche nach efg tut das aber nicht.

Hier bin ich auf einen anderen Lösungsansatz gestoßen: http://www.drweb.de/magazin/mysql-volltextsuche-zwei-hindernisse-und-ein-weg-drumherum/ . Allerdings ist das Design total zerschossen und scheinbar wird nicht der ganze Text angezeigt. Wie im 3. Kommentar geht es auch mir, ich kann die Worte zwar verlängern, aber wie sucht der danach dann in der DB? Wäre mir am Liebsten, wenn das jemand verstanden hätte und mir das kurz erklären könnte.

Evtl. hat auch noch jemand eine ganz andere Idee. Wobei solche Ideen, wie das ganze von Hand aufzubauen etwas Overhead wäre. Sollte also nicht zuuu viel Aufwand bedeuten.

  1. Hallo,

    Ein Like finde ich grundsätzlich zu langsam, habe im Moment ca. 1GB an Daten die es zu durchsuchen gilt, langsam aber stetig steigend.

    Hier bin ich auf einen anderen Lösungsansatz gestoßen: http://www.drweb.de/magazin/mysql-volltextsuche-zwei-hindernisse-und-ein-weg-drumherum/ . Allerdings ist das Design total zerschossen und scheinbar wird nicht der ganze Text angezeigt.

    Nein, das Design ist nicht zerschossen. Es wird das angezeigt, was im Quelltext steht - und das scheint gegen Ende nicht besonders sinnvoll zu sein. Dass die Lösung für *Dein* Problem nicht in Frage kommen sollte, steht auch drin, ich zitiere:

    <zitat>
        Lösung
        Die Lösung für beide Probleme ist banal, vielleicht etwas unelegant -
        dafür funktioniert sie sehr gut. Sie ist nur für kleine Datenbestände
        geeignet.
    </zitat>

    1 GB ist kein kleiner Datenbestand.
    Ich zitiere weiter:

    <zitat>
        Wer größere Datenmengen durchsuchen lassen will, sollte auch die Mittel
        haben, einen eigenen Server aufzusetzen oder zu mieten - und dann kann
        man die Konfiguration einfach ändern.
    </zitat>

    Dem kann ich mich nur anschließen. Suche Dir einen preiswerten Provider, der Dir die Möglichkeit bietet, die Konfiguration des MySQL-Servers zu ändern. Ach ja: preiswert bedeutet nicht "billig", sondern den Preis wert.

    Freundliche Grüße

    Vinzenz

    1. Große Datenmengen hätte ich bei mehreren hundert GB angesiedelt. 1 GB ist in meinen Augen keine wirkliche "Menge" für eine Datenbank.

      Und 60 Euro monatlich für ein kleines privates Projekt auszugeben bin ich einfach nicht bereit. Deshalb werde ich eine Umgehungslösung suchen. Die Frage ist nur, wie performant die läuft.

      1. Und 60 Euro monatlich für ein kleines privates Projekt auszugeben bin ich einfach nicht bereit.

        Dann lässt du dich aber ordentlich abzocken.