Problem mit der Suchefunktion in phpbb3

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
coolsoft
Mitglied
Beiträge: 433
Registriert: 29.08.2005 21:14
Wohnort: Irgendwo im Nirgendwo

Re: Problem mit der Suchefunktion in phpbb3

Beitrag 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
McHunter
Mitglied
Beiträge: 27
Registriert: 24.05.2008 21:41

Re: Problem mit der Suchefunktion in phpbb3

Beitrag 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? :lol:
McHunter
Mitglied
Beiträge: 27
Registriert: 24.05.2008 21:41

Re: Problem mit der Suchefunktion in phpbb3

Beitrag 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.
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag 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.
McHunter
Mitglied
Beiträge: 27
Registriert: 24.05.2008 21:41

Re:

Beitrag 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
McHunter
Mitglied
Beiträge: 27
Registriert: 24.05.2008 21:41

Re: Problem mit der Suchefunktion in phpbb3

Beitrag 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.
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag 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!
coolsoft
Mitglied
Beiträge: 433
Registriert: 29.08.2005 21:14
Wohnort: Irgendwo im Nirgendwo

Re:

Beitrag 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.
McHunter
Mitglied
Beiträge: 27
Registriert: 24.05.2008 21:41

Re:

Beitrag 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.
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag 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.
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“