Seite 4 von 8
Re: Problem mit der Suchefunktion in phpbb3
Verfasst: 20.04.2009 14:04
von coolsoft
hier muss ich passen - finden sich einige preg_replaces im Code - ist nicht mein Thema
sollte aber hier im offiziellen Supportforum kein Problem sein, einen Kenner zu finden
Re: Problem mit der Suchefunktion in phpbb3
Verfasst: 20.04.2009 14:52
von McHunter
dieweltist hat geschrieben:Du kannst mir wirklich glauben, dass die Anzahl der indizierten Wörter nur um ca. 10 bis 15 % zunimmt, wenn man die minimale Anzahl der indizierten Zeichen auf Null stellt. Denn das war bei meinem Forum so, als ich dies so umstellte.
Hallo dieweltist
Dann lese bitte mal was Du dazu vorher geschrieben hast:
dieweltist hat geschrieben:Falls bei einer Suche die Anzahl der jeweils mindestens indizierten Wörter gleich drei eingestellt ist, wird die Anzahl der indizierten Wörter auch bei einem großen Forum nur um etwa 10 - 15 % zunehmen.
10 - 15% von 10.000 sind doch sicherlich geringer als 10 - 15% von 3.5 Mio. Oder kann ich jetzt nicht mehr rechnen?

Re: Problem mit der Suchefunktion in phpbb3
Verfasst: 20.04.2009 15:03
von McHunter
coolsoft hat geschrieben:hier muss ich passen - finden sich einige preg_replaces im Code - ist nicht mein Thema
sollte aber hier im offiziellen Supportforum kein Problem sein, einen Kenner zu finden
Wenn es nur preg_replaces in lediglich einer Funktion wäre, würde ich da ja noch durchblicken. Aber die Bereinigungen finden über div. Funktionen/Klassen in div. Scripten statt. Außerdem "scheint" da noch eine UTF-8 String-Clean Funktion stattzufinden. Siehe die beiden Scripte im Verz. /includes/utf .
Das ist alles so extrem verschachtelt, dass da wohl nur die Entwickler selber wissen wo genau diese Stringbereinigungen und Aufsplittungen von als Bsp. "TAP-2050" in "TAP" und in "2050" sattfinden bevor beide Einzelstrings getrennt in die search_wordlist aufgenommen werden. Und dieses sowohl beim Erstellen, Verändern eines Beitrages als auch beim Aufbau des Suchindexes über das ACP.
Verfasst: 20.04.2009 16:43
von dieweltist
McHunter hat geschrieben:Aber ich betreibe ein Board in dem die serach_wordmatch z.Zt. schon fast 3.5 Mio. Einträge hat. Wenn ich so wie Du auf mind. „1“ umstellen würde, dann würde sich die Einträge grob geschätzt fast verdoppeln.
Nein; die Anzahl der indizierten Wörter würde nur um ca. 10 bis 15 % zunehmen. Falls man es schaffen würde, die Suche umzubauen, wäre die Einstellung auf mindestens ein Zeichen zwar nicht mehr erforderlich; aber die Anzahl der indizierten Wörter würde dann durch diese Umstellung zunehmen.
Re:
Verfasst: 20.04.2009 20:13
von McHunter
dieweltist hat geschrieben:McHunter hat geschrieben:Aber ich betreibe ein Board in dem die serach_wordmatch z.Zt. schon fast 3.5 Mio. Einträge hat. Wenn ich so wie Du auf mind. „1“ umstellen würde, dann würde sich die Einträge grob geschätzt fast verdoppeln.
Nein; die Anzahl der indizierten Wörter würde nur um ca. 10 bis 15 % zunehmen. Falls man es schaffen würde, die Suche umzubauen, wäre die Einstellung auf mindestens ein Zeichen zwar nicht mehr erforderlich; aber die Anzahl der indizierten Wörter würde dann durch diese Umstellung zunehmen.
Hallo dieweltist,
ich habe heute einige Tests auf einem phpBB2 Testboard durchgeführt und muss Dir Recht geben, die Anzahl der Einträge in der search_wordmatch verdoppeln sich nicht bei einer Umstellung:
Minimal indizierte Zeichen:
Wörter mit mindesten so vielen Zeichen werden für die Suche indiziert. = 3 auf = 1
Allerdings erhöhen sich die Einträge auch nicht um „lediglich“ 10 – 15%.
McHunter hat geschrieben:10 - 15% von 10.000 sind doch sicherlich geringer als 10 - 15% von 3.5 Mio. Oder kann ich jetzt nicht mehr rechnen?
Das Ganze ist nämlich auch abhängig vom eingestellten Wert:
Schwelle für häufig vorkommende Wörter:
Wörter, die in einem größeren prozentualem Anteil von Beiträgen enthalten sind, werden als häufig vorkommende Wörter angesehen. Häufig vorkommende Wörter werden in Suchanfragen ignoriert. Um dieses Verhalten abzuschalten, stelle als Wert 0 ein. Die Funktion greift nur, wenn mehr als 100 Beiträge existieren. Wenn Wörter, die derzeit als häufig gekennzeichnet sind, wieder in den Suchindex aufgenommen werden sollen, muss der Index neu aufgebaut werden.
Im Moment habe ich einen Wert von 15% eingestellt.
Da leider jeder Neuaufbau des Suchindexes ca. 1,5 Std. dauert möchte ich da momentan keine weiteren Tests durchführen. Ich möchte mich lieber auf das eigentliche Thread-, also Such-Problem konzentrieren. Denn, ob nun wie jetzt meine search_wordmatch 4.645.825 und die search_wordlist 141.164 Einträge oder mehr hat ist mir momentan egal.
U.a. in diesem Script scheint der ganze clean_message und split_message als php classes abzulaufen:
http://code.phpbb.com/repositories/entr ... p?rev=9173
bzw. hier:
http://area51.phpbb.com/docs/code/searc ... e.php.html
Re: Problem mit der Suchefunktion in phpbb3
Verfasst: 20.04.2009 23:31
von McHunter
Ich habe mich heute mit drei Bekannten die ebenfalls ein phpbb3 Board für unterschiedliche Themen einsetzen über dieses Problem unterhalten, was sehr aufschlussreich für mich war.
Auch wenn jetzt wieder bei einigen wenigen phpbb.de Teammitgliedern evtl. die „ich muss dagegen angehen“ Nummer kommt und man mir mal wieder eine Verwarnung ausspricht dennoch folgendes:
Das hier betreffende Problem ist auch meinen phpBB3 Foren Betreiber-Bekannten bestens bekannt.
Bisher hat keiner von denen dafür einen richtig funktionierenden Workaround gefunden bzw. selber entwickeln können.
Einer betreibt ein Sportforum wo Ergebnisse in der Schreibweisen wie „5-1“, „0-3“ etc. vorkommen. Eine Suche danach ist wie bekannt, auch bei ihm nicht möglich!
Der 2te betreibt so wie ich ebenfalls ein Technikboard. Und zwar für Flugzeuge. Bei ihm ist es ebenfalls nicht möglich nach z.B. „A-320“, „A 340-600“, „777-300ER“ etc. etc. zu suchen!
Ein anderer betreibt ein Game-Board. Ob das nun gute oder schlechte Games sind sei dahingestellt. Jedenfalls funktioniert bei ihm die Suche nach Bez. mit einem Bindestrich ebenso nicht. Auch er hat sich lange mit diesem Thema beschäftigt und mich auf diesen Thread verwiesen:
http://www.phpbb.com/community/viewtopi ... 6&t=608044
http://www.phpbb.com/community/viewtopi ... rch+hyphen
welcher u.a. auch genau das hier betreffende Problem beschreibt.
Wenn ich mir dort die Empfehlungen der dortigen Supporter ansehe, dann weiß ich auch warum in diesem Thread keiner der phpBB.de Teammitglieder zum Thema antworten möchte bzw. antworten kann. Die blicken „scheinbar“ selber nicht da durch.
Suche mal bei phpbb.com nach z.b. +search +with +hyphen
Und auch mal bei Google.
Verfasst: 20.04.2009 23:43
von dieweltist
Noch mal. Es ist schon möglich, nach 5-1 zu suchen. Nur mit dem Nebenffekt, dass man einige Treffer mehr hat, weil auch alle Beiträge gefunden werden, in denen sowohl eine 5 als auch eine 1 jeweil separat vorhanden ist.
- Fulltext-native verwenden!
- Die Anzahl der Zeichen (Minimum) auf 1 oder 0 setzen!
- Nach 5 1 suchen, anstatt nach 5-1!
Re:
Verfasst: 20.04.2009 23:58
von coolsoft
dieweltist hat geschrieben:Noch mal. Es ist schon möglich, nach 5-1 zu suchen. Nur mit dem Nebenffekt, dass man einige Treffer mehr hat, weil auch alle Beiträge gefunden werden, in denen sowohl eine 5 als auch eine 1 jeweil separat vorhanden ist.
- Fulltext-native verwenden!
- Die Anzahl der Zeichen (Minimum) auf 1 oder 0 setzen!
- Nach 5 1 suchen, anstatt nach 5-1!
Nochmal: Themaverfehlung - 5!
=> Blog aufmachen und dort täglich protokollieren: "wie ich vergeblich versuchte, das letzte Wort zu haben."
Sorry - ist schon wieder unsachlich meinerseits, aber bei den Texten fliegen alle Sicherungen.
Re:
Verfasst: 22.04.2009 00:12
von McHunter
dieweltist hat geschrieben:Noch mal. Es ist schon möglich, nach 5-1 zu suchen. Nur mit dem Nebenffekt, dass man einige Treffer mehr hat, weil auch alle Beiträge gefunden werden, in denen sowohl eine 5 als auch eine 1 jeweil separat vorhanden ist.
Hallo dieweltist,
sorry, aber Du hast „leider“ doch nicht genau verstanden um was es geht!
Oder möchtest Du mir irgendeinen Mompes aufschwatzen?
Jemand der nach etwas zu einem „A-320“ sucht möchte ganz sicherlich nicht etliche unnütze Suchergebnisse zu „A“ und/oder zu „320“ erhalten. Sondern lediglich zu „A-320“!
Jemand der nach etwas zu „Haus-Boot“ sucht möchte ganz sicherlich nicht etliche unnütze Suchergebnisse zu „Haus“ und auch noch zu „Boot“ erhalten. Sondern lediglich Suchergebnisse zu „Haus-Boot“!
dieweltist hat geschrieben: - Fulltext-native verwenden!
- Die Anzahl der Zeichen (Minimum) auf 1 oder 0 setzen!
- Nach 5 1 suchen, anstatt nach 5-1!
a) Scheinst Du noch nicht gelesen zu haben, dass ich mit einer zwar (leider) noch nicht sehr sauberen Lösung doch schon lange nach „5-1“ oder „ABS-550“ etc. suchen kann. Es erscheinen aber ausser Ergebnisse zu „ABS-550“ leider auch noch Ergebnisse mit „ABS“ und „550“.
b) Verstehe ich inzwischen nicht mehr, warum Du mir a´la einem Leierkasten immer wieder das gleiche empfiehlst. Zumal Deine Tipps, wie ich Dir schon bestimmt mehrmals mitteilte, in keinster Weise das hier betreffende Threadthema lösen!
c) Wenn Du, wie ich, an einer richtigen und passenden Lösung interessiert bist dann versuche bitte Dich dazu richtig sachkundig zu machen und passende Lösungen anzubieten.
Verfasst: 22.04.2009 00:25
von dieweltist
Ich glaube, Du verstehst mich nicht. Wenn man Beiträge sucht, in denen ABS-550 enthalten ist, wäre es natürlich Unsinn, wenn man bspw. unter anderem auch Beiträge als Treffer erhielte, die jeweils nur ABS oder 550 enthalten.
Wenn es aber eine Möglichkeit gibt, von der ich die ganze Zeit rede, wie man alle Beiträge als Treffer erhält, in denen sowohl ABS als auch 550 enthalten ist, so ist man meines Erachtens doch schon ziemlich dicht an dem dran, was man eigentlich möchte.
Ich glaube, wenn ich dies noch 100 mal wiederholen würde, würde von Deiner Seite immer noch ein solches Veto kommen, wie in Deinem letzten Beitrag; was den Anschein hat, als wenn Du dies einfach nicht verstehen kannst.