Suchindex sprengt die Datenbank - Frage nach Alternative

  • Joomla Version
    4.4.4
    PHP Version
    PHP 8.2.x
    Hoster
    IONOS
    Link (URL) zur Seite mit dem Problem
    https://www.neckbreaker.de

    Hallo zusammen,

    ich hätte da mal wieder eine "allgemeine Frage".

    Unser Musikmagazin hat Beiträge in Joomla die zurückgehen bis ins Jahr 2007. Da ist nicht gerade wenig zusammengekommen in der Zeit. Nachdem ich gestern alles bis 2020 erstmal ins Archiv verfrachtet habe, wollte ich mich um die Frontend-Suche kümmern und siehe da... beim Erstellen des Such-Index hat es die Datenbank gesprengt. Woraufhin unser Provider IONOS diese kurze Zeit sperrte. Ich hab daraufhin erstmal die finder_terms Tabelle und eine weitere manuell geleert, erstmal wieder alles gut.

    Natürlich könnte ich nun unsere DB in dem WebHosting-Paket noch auf 5GB aufstocken, aber die alte Datenbank auf dem Root-Server den wir hatten lag bereits bei 3,8GB und dort funktionierte die Suche auch nicht mehr richtig,.. als richtig dauerhafte Lösung sehe ich das also nicht an.

    Demnach schaue ich mich jetzt nach Alternativen zum Suchindex um, bin bereits auf einige Plugins gestoßen (wobei ich da unsicher bin, ob diese auch lokal in der Datenbank was ablegen - Vermutlich schon, anders geht es ja nicht) und habe auch gesehen, dass ich eine Art Google-Suchfeld einbinden könnte, womit die Google Ergebnisseite in die Seite integriert würde. (Da wäre vermutlich/hoffentlich kein lokaler Datenbankbestand notwendig).

    Seht ihr noch andere gute Möglichkeiten? Oder gibt es einen Trick 17, wie ich den Core-Suchindex von Joomla so konfigurieren kann, dass die Tabelle nicht derart viele Einträge bekommt?

    Bereits bei der Migration von 3 auf 4 (auf einen neuen Server) stellten sich die finder-Tabellen als Problem heraus.. ohne diese war die Datenbank gerade mal 1,1 GB groß.. sonst satte 3,8GB.

    Vorab schon mal Danke für den Input. :thumbup: Vorerst habe ich alles was Suchindex angeht deaktiviert.

    Nochmal so klein wenig zur Übersicht, weil Fließtext ja nicht so geil zu lesen ist:

    • Google Suche integrieren
    • Eigene Extension (EB Ajax Search)
    • Joomla-Suchindex anders konfigurieren
  • Wir betrachten das mal systemtisch:

    Es gibt zwei grundverschiedene Arten, wie man eine Volltextsuche wie die von Joomla gestalten kann:

    1: Suche zur Laufzeit: du gibst einen Begriff ein und im Moment des Absendens werden die Inhalte nach dem fraglichen Textschnipsel durchsucht. Ist relativ simpel in der Implementierung, braucht keinen doppelten Speicherplatz weil man ja nur die Originalinhalte braucht. Ist aber dafür auch seeeehr langsam und bestimmte Funktionen wie Vertipper-Prüfung ("Meinten Sie...") oder Autocompletion sind damit nicht sinnvoll implementierbar.

    2. Suche mit einem Index: dabei werden die Inhalte in Einzelbegriffe zerlegt, Füllwörter und Wortvarianten werden raus genommen und es entsteht eine Art Liste, welches Wort sich in welchem Beitrag findet. Das ist wesentlicher schneller, bietet viel mehr Möglichkeiten, bedeutet aber halt auch zwangsläufig, dass man den Speicherplatz für die Wortliste (Beim Joomla-Suchindex: #__finder_terms) und die Zuordnung zur den Beiträgen (#__finder_terms_links) braucht.

    Du kannst über Anpassung der Einstellungen von com_finder die Indexierung beeinflussen und zum Beispiel einstellen, dass wirklich nur einzelne Wörter und keine Wortgruppen im Index abgelegt werden (Einstellung "Suche nach Phrasen" im Reiter Index). Das reduziert den Speicherbedarf, ist aber für die Ergebnisqualität nachteilig.

    Mit dieser Einführung im Hinterkopf lässt sich dann auch deine Frage beantworten: egal welche lokal installierte Lösung du verwendest, sie wird bei einem so großen Datenbestand entweder recht langsam sein (Laufzeitsuche) oder recht viel Speicher beanspruchen (Indexsuche).

  • übrigens; Google ist auch eine Indexsuche. Nur ist da der Index nicht bei dir lokal, sondern bei Google abgespeichert.

    Du bezahlst also nicht mit Speicherplatz, sondern mit deinen Daten.

    JoomGallery::friends ist aktuell noch auf der Suche nach Helfern für die JoomGallery 4 Entwicklung!

    Gesucht sind Leute für die PHP-Entwicklung, zum Testen, Übersetzen und Dokumentieren.

    Bei Interesse melde dich per PM oder Mail bei mir (Elfangor93).