Bug in der Suchfunktion unter Linux-Servern

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Elo
Mitglied
Beiträge: 318
Registriert: 04.11.2002 17:44

Beitrag von Elo »

Hier noch ein Nachtrag:

In der search.php

folgende Zeile finden:

Code: Alles auswählen

	$search_keywords = ( isset($HTTP_POST_VARS['search_keywords']) ) ? $HTTP_POST_VARS['search_keywords'] : $HTTP_GET_VARS['search_keywords'];
dahinter folgende Einfügen:

Code: Alles auswählen

	$search_entities_match =   array('#ä#', '#ö#', '#ü#', '#Ä#', '#Ö#', '#Ü#', '#ß#');
	$search_entities_replace = array('ae', 'oe', 'ue','ae', 'oe', 'ue', 'sz');
	$search_keywords = preg_replace($search_entities_match, $search_entities_replace, $search_keywords);
Finde:

Code: Alles auswählen

		$highlight_active = urlencode(trim($highlight_active));
dadrunter einfügen:

Code: Alles auswählen

		$search_unchars_match = array('#ae#', '#oe#', '#ue#', '#sz#');
		$search_unchars_replace = array('%E4', '%F6', '%FC', '%DF');

		$highlight_active = preg_replace($search_unchars_match, $search_unchars_replace, $highlight_active);
Elo
Hermandl

Beitrag von Hermandl »

Elo hat geschrieben: >>Die Umwandlung der Umlaute und des scharfen ß in ae, ou, ue und ss ist nicht grundsätzlich verkehrt, sondern sogar die allgemeingültige Lösung

Für mich ist dies nicht die allgemeingültige Lösung. Die für mich beste Lösung wäre, wenn in die Datenbank auch Begriffe mit Umlauten gespeichert werden könnten.
Die Umlaute usw. werden weiterhin ganz normal behandelt und sind im Forumstext wie eingegeben sichtbar (und auch so abgespeichert). Lediglich die Suchfunktion wird verzeihlicher (und die Wortliste enthält die anders verschlüsselten, sozusagen "normierte" Wörter).

Das Wort übermäßig kann mit den Begriffen übermäßig, Uebermaessig oder auch ÜbermaESsig gefunden werden. Und damit werden auch sämtliche Texte gefunden, in denen übermäßig oder UebermaEßig vorkommt.

Der Admin unseres Forums hat mir mehr zugetraut als ich mir selber und die kleine Änderung "on the fly" ganz frech eingebracht und den Index neu aufgebaut. Das Ergebnis ist gut.

Es gibt allerdings eine bislang unerklärliche Erscheinung: das Wort bedürftigkeitsbescheinigung kommt vor, ist aber mit der Suchfunktion nicht zu finden.

Hat jemand eine natürliche Erklärung dazu?

Gruß aus München
Hermann
Gast

Beitrag von Gast »

Hermandl hat geschrieben: Es gibt allerdings eine bislang unerklärliche Erscheinung: das Wort bedürftigkeitsbescheinigung kommt vor, ist aber mit der Suchfunktion nicht zu finden.

Hat jemand eine natürliche Erklärung dazu?
Keine Erklärung.

Hab es mir eben gerade angeschaut. Texthighlighting funktioniert nicht, unter keiner Bedingung.

Elo
Gast

Beitrag von Gast »

Elo hat geschrieben:@Hermandl

Funktioniert Texthighlighting bei diesen Wort(-abwandlungen)?

Suche mal nach einem Begriff welches mit einem Umlaut beginnt wie zB. 'über' sofern dieses kein Stopword ist.

Elo
Also bei mir funktionieren die Highlightenings weiterhin unverändert und haben auf das Suchverhalten keinerlei Einfluss. Auch wenn das Wort mit einem Umlaut beginnt. In allen Varianten.

Ich habe aber ein weiteres Wort festgestellt, das nicht suchbar ist, egal wie es umrandet ist: das Wort überflüssigerweise.

Mir scheint, dass es sich um die Länge handelt, obwohl ich dem Code diese Begründung nicht entnehmen kann.

Gruß: Hermann
Hermandl

Beitrag von Hermandl »

Anonymous hat geschrieben: Hab es mir eben gerade angeschaut. Texthighlighting funktioniert nicht, unter keiner Bedingung.
Elo
Wundert mich aber. Bei mir funktionierts an allen Ecken.

Geh mal ins Thairing-Forum
http://www.forum.thairing.de/
und suche dort nach dem Wort überflüssigen. Du findest meinen soeben eingegebenen Test-Beitrag mit fettem Suchwort.

Hermann
Elo
Mitglied
Beiträge: 318
Registriert: 04.11.2002 17:44

Beitrag von Elo »

Stimmt wird Fett dargestellt.
Ich hatte, wie es im Nittaya ist, eine fabliche Hervorhebung erwartet.

Und Du hast nichts anderes geändert als dieses eine Array?

Vielleicht liegt es bei mir daran, dass ich sämtliche Umlaute sowie die Sonderzeichen und das 'ß' noch HTML-Codiere.

Ich werde mir den Code heute Abend nochmal anschauen, nun ist es schon zu spät.

Gute Nacht nach München.
Elo
Hermandl

Beitrag von Hermandl »

Elo hat geschrieben: Hier noch ein Nachtrag:

In der search.php

folgende Zeile finden: ....
Ist es möglich, dass Du zu viel machst? Ich bin weiterhin der Meinung, dass eine Stelle in der "functions_search" genügt.

Ausserdem bin ich der Meinung, dass man ß nicht mit sz ersetzen sollte, und zwar im Zusammenhang mit der Einführung der neuen Rechtschreibung. Grund: Es gibt aktuell zwei gültige Schreibweisen von Wörtern wie Schuss (neue Schreibweise) alias Schuß (alte Schreibweise). Wenn ich ausserdem die dritte Schreibweise suchbar machen will, müsste ich eine weitere Umschlüsselung vornehmen, z.B. sz mit ss findbar machen.

Gruß: Hermann
Hermandl

Beitrag von Hermandl »

Elo hat geschrieben:Stimmt wird Fett dargestellt.
Ich hatte, wie es im Nittaya ist, eine fabliche Hervorhebung erwartet.
Ich habe jetzt einen farblich hervorgehobenen Text eingetragen. Suche mal wieder nach überflüssigen .

Gruß und gute Nacht
Hermann
Benutzeravatar
Mister_X
Ehemaliges Teammitglied
Beiträge: 7102
Registriert: 24.05.2001 02:00
Wohnort: Augsburg

Beitrag von Mister_X »

vielleicht hilft euch noch das kleine Zitat aus dem Usersguide von phpBB2:
http://www.phpbb.com/guide/phpBB_Users_Guide.html#section4_5_1 hat geschrieben:To increase the speed and decrease the overhead of the search utility, only words may be searched for. Phrases (such as "cheese wheel") may not be searched for, except by their component words. The minimum size for words is four characters, and the maximum size is twenty characters. Any non-alphanumeric character (e.g. white space and punctuation) is a word boundary.
also Wörter länger als 20 Zeichen werden nicht in den Suchindex aufgenommen
Hermandl

Dasisses!

Beitrag von Hermandl »

Mister_X hat geschrieben:vielleicht hilft euch noch das kleine Zitat aus dem Usersguide von phpBB2....
Spitze! Das ist sogar genau das, was mir bisher an Hintergrundwissen gefehlt hat, und es erklärt alle in diesem Thread aufgetauchte Unbill der Suchfunktion!

Man mag sich darüber streiten, ob die aufgeführten Einschränkungen sinnvoll sind. Ich meine, teilweise schon, teilweise nicht.

1.) Wortlänge mindestens 4: ist hervorragend. Damit entfallen z.B. alle deutschen Artikel, die in der Suchwort-Liste ohnehin nichts zu suchen haben und das System unnötig verlangsamen und die Tabellen aufblasen.
2.) Wortlänge höchstens 20: würde ich nicht machen. Solche Wörter sind selten und haben deshalb vermutlich nicht wirklich Einfluss auf die Performance. Ist aber Ansichtssache.
3.) Sonderzeichen sind Wortgrenzen: Nicht generell gut. Bei unseren Umlauten z.B. schlecht.

Fairerweise müssten die Franzosen mit ihren Akzenten, der Cedille ç Ç und deren offenen ö æ, die Spanier mit dem ñ und Ñ, die Dänen mit deren durchgestrichenen O und die Schweden mit den Noggerln auf dem a genauso unterstützt werden wie ich das jetzt mit den Umlauten gemacht habe.

Darüber sollte sich aber der Hersteller nochmals Gedanken machen. Sonst ist die Änderung beim nächsten Release weg.

Gruß aus München
Hermann
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“