Suchfunktion findet nur "alte" Beiträge

    • Offizieller Beitrag

    Im Falle des Elasticsearch-Plugins, würde es damit auch irgendwelche Limits geben oder hat man damit dieses Problem überhaupt nicht?

    elasticsearch liefert auch nur 1.000 Ergebnisse zurück, aber es gibt ein paar gravierende Unterschiede:

    • Die Relevanz-Bestimmung ist sehr viel umfangreicher und präziser
    • Chronologie hat einen sehr hohen Stellenwert, jüngere Ergebnisse werden bevorzugt
    • elasticsearch ist gewaltig schneller

    Gerade der letzte Punkt ist sehr bedeutend, denn bei der MySQL-Suche ist die innere Abfrage nicht nach Datum sortiert. Das liegt schlicht daran, dass MySQL entweder den FULLTEXT-Index nutzt oder aber den Index zur Sortierung nach Zeit, aber niemals beides. Die nicht-Nutzung des time-Index bedeutet, dass MySQL die gesamte Tabelle sortiert und das ist extrem langsam dank temporärer Tabellen.

  • Alexander, zunächst danke für deine Erklärung. Ich weiß, dass ist jetzt eigentlich ein anderes Thema, aber wo du schon von Sortierung nach Zeit schreibst: lässt sich denn für den Administrator konfigurieren, dass nur chronologisch sortiert wird oder muss ich das als neuen Vorschlag einreichen (falls es einen solchen nicht schon gibt)? Egal, ob bei Verwendung der MySQL Volltextsuche oder beim Elasticsearch-Plugin, mir geht es erst einmal nur um die grundsätzliche Machbarkeit. Ich find nämlich Suchergebnisse, welche nicht einer strikten Chronologie folgen, extrem nervig. Das betrifft nicht nur das WBB, auch Wordpress hat für entsprechenden Frust bei mir gesorgt, als man die Sortierung nach Relevanz eingeführt hat.

    Nachtrag: Zur Klarstellung, ich meine nicht erst über die Erweiterte Suche, sondern als Standard, da in der Regel direkt das Suchfeld genutzt wird.

    • Offizieller Beitrag

    Ist schon grob absehbar wann das Plugin erscheint ?

    Die Ankündigung erfolgt in Kürze.

    Bedeutet konkret? Kann man nur nutzen, wenn man einen eigenen Server hat auf dem man Module installieren kann? Oder habe ich da jetzt falsch verstanden?

    elasticsearch ist nur für größere Foren (grobe Hausnummer: 500.000 Beiträge) interessant, darunter fällt der Unterschied zu gering aus als das es sich lohnen würde (Einzelfälle bei Seite gelassen). Große Foren haben i.d.R. ein höhere Besucheraufkommen und daher ist ein Webspace dort meist keine Alternative mehr. elasticsearch kann man auf einem VPS (virtueller Server), Managed oder Dedicated Server installieren.

    • Offizieller Beitrag

    Alexander, zunächst danke für deine Erklärung. Ich weiß, dass ist jetzt eigentlich ein anderes Thema, aber wo du schon von Sortierung nach Zeit schreibst: lässt sich denn für den Administrator konfigurieren, dass nur chronologisch sortiert wird oder muss ich das als neuen Vorschlag einreichen (falls es einen solchen nicht schon gibt)?

    Das ist bei elasticsearch immer der Fall bzw. wird dort auch die Relevanz mit einbezogen, d.h. ein Beitrag mit möglichst vielen Suchbegriffen der 2 Wochen alt ist wird höher priorisiert als der Beitrag von vor einer Stunde in dem nur ein Teil auftaucht. Das ist jetzt sehr vereinfacht dargestellt und auch nur begrenzt korrekt, denn elasticsearch betreibt einen sehr umfangreichen Aufwand um Dokumenten eine Relevanz zuzuweisen.

    Wenn du bei MySQL FULLTEXT die innere Abfrage sortieren lässt, dann kann MySQL den FULLTEXT-Index nicht mehr benutzen. Das Ergebnis ist ein full table-scan der dir den MySQL-Server an die Wand klatscht, da nützt dir auch die beste Hardware nichts mehr (getestet auf einem Core i7-4820K mit SSD sowie auf woltlab.com).

  • Hmm, ich habe ein managed Paket, da kann man nichts installieren. Bei Tests bin ich auf das selbe Problem gestoßen, bei mehr als 1000 Treffer sind die Ergebnisse nicht aktuell.

    Da werde ich wohl die Googlesuche integrieren müssen:-/

  • Alternativ empfiehlt sich für größere Foren der Einsatz von elasticsearch, für das wir in Kürze ein entsprechendes Plugin veröffentlichen.

    Ich dachte, elasticsearch ist Bestandteil des WBB 4.1. Oder habe ich da was missverstanden?

  • Ich ging davon aus, weil hier elasticsearch aktiv ist. Das heißt ja quasi, dass wir nie die offizielle Suchfunktion betatesten konnten (also hier im Forum).

  • Elasticsearch war hier nicht seit der Testphase/dem Verkaufsstart des WBB 4 installiert.


    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier und hier.

  • Dazu müsste sich @Alexander Ebert noch kurz äußern. Ich meine allerdings, dass in der Betaphase des WBB 4.1 zunächst auch noch die "normale" Suche genutzt wurde, die sich vermutlich in keiner Weise von der aus dem WBB 4.0 unterscheiden dürfte.

    Alex: Kannst Du in die Zukunft sehen?


    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier und hier.

    • Offizieller Beitrag

    die "normale" Suche genutzt wurde, die sich vermutlich in keiner Weise von der aus dem WBB 4.0 unterscheiden dürfte.

    Das ist nicht korrekt, die API für die Suche habe ich mit WCF 2.1 umgebaut, u.a. weil sie ursprünglich nur MySQLs FULLTEXT zugelassen hat. Davon ab wurde auch die MySQL-basierte Suche verbessert und liefert etwas präzisere Ergebnisse und auch die Performance geht bei sehr geringen Trefferzahlen bei der Suche über mehrere Typen nicht mehr in die Knie.

  • Ich meinte nicht das Beta-Forum, sondern das Hauptforum, während noch eine Betaversion installiert ist. Aber egal, jetzt haben wir ja die Erklärung.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!