Hallo liebe Nichttrinker(innen) und Trinker(innen),
der letzte Beitrag zu diesem Thema wurde bisher noch nicht beantwortet, deshalb möchte ich mich hier einklinken (und keinen neues Thema erstellen).
Als ich nach der Installation meines Mediawiki und dem Füllen mit etwas Initial-Contend die Volltext-Suchmöglichkeiten probierte, kam ich zu folgender Zusammenfassung:
- Groß-/Kleinschreibung ist bei der Suche nicht relevant.[/*:m:17vx256g]
- Wörter mit drei und weniger Zeichen werden ignoriert, wenn keine weiteren längeren Wörter angegeben wurden.[/*:m:17vx256g]
- Mehrere Suchwörter werden automatisch mit UND verknüpft (läßt sich das ändern?), denn:
[list:17vx256g]
- auch wenn eine Suchanfrage in Anführungsstriche eingeschlossen wird, wird nach jedem Wort einzeln gesucht, d.h. auf die Suchanfrage "Zweiter Weltkrieg" werden Seiten geliefert, die die Wörter "zweiter" und "Weltkrieg" (an beliebiger Stelle und in beliebiger Reihenfolge) enthalten.[/*:m:17vx256g]
[/*:m:17vx256g]
[*] Der Artikelinhalt wird im Rohtext (wie im Editiermodus sichtbar = Wikitext) durchsucht, welcher evtl. von der endgültig präsentierten Form abweichen kann. Beispiele:
- Text, der von einem enthaltenen Template stammt, wird nicht gefunden[/*:m:17vx256g]
- der Name einer Zielseite eines Links, der eine alternative Darstellung ('|') hat, wird gefunden[/*:m:17vx256g]
- Worte, in denen eine weiche Worttrennung vorkommt, werden nicht als komplettes Wort gefunden (
).[/*:m:17vx256g]
[/*:m:17vx256g]
[*] Mit einem Minus vor einem Suchbegriff kann man alle Dokumente ausschließen, die dieses Wort enthalten.[/*:m:17vx256g]
[*] Stoppwortmechanismus evtl. nur englischsprachig? "MySQL-specific list of stopwords"
http://dev.mysql.com/doc/refman/5.0/en/fulltext-stopwords.html[/*:m:17vx256g][/list:u:17vx256g]
Wegen diesen unbefriedigenden Suchmöglichkeiten begann ich bewußt die Texte entsprechend zu formulieren:
- potentielle Suchworte habe ich jeweils mit möglichst allen gebräuchlichen Formen, Schreibweisen und Synonymen innerhalb der Seite als Text formuliert[/*:m:17vx256g]
- wenn Text-Formulierungen zu verkrampft oder einfach nicht passend waren, habe ich sie als unsichtbare Kommentare eingetragen.[/*:m:17vx256g]
Kennt jemand Möglichkeiten (Anleitungen) die wm-Suche aufzuwerten?
Interessant wären u.a.
- Trunkierung (Wildcard)[/*:m:17vx256g]
- ODER-Verknüpfung[/*:m:17vx256g]
- Suche nach IP-Adressen (Maskierung als Text)[/*:m:17vx256g]
- Integration einer deutschsprachigen Stoppwortliste[/*:m:17vx256g]
- Integration einer Liste (deutschsprachiger) Synonyme[/*:m:17vx256g]
Update:
Ich vergaß meine verwendeten Versionen anzugeben:
MW 1.12.0 + PHP 5.2.6-2+b1 (apache2handler) + MySQL 5.0.51a-9+lenny2
Also, die Verwendung von * als Jokerzeichen funktioniert bei mir aktuell, Beispiel:
- Kreuz* -> findet Kreuzchen und Kreuzregister[/*:m:17vx256g]
- *register -> findet Register aber nicht Kreuzregister[/*:m:17vx256g]
- ein in der Mitte eines Suchworts gesetztes Sternchen scheint das Wort in zwei einzelne Suchbegriffe zu teilen[/*:m:17vx256g]
Was ist eigentlich mit phonetischer Suche?
Update2:
Zusammengefaßte und weitere Erkenntnisse:
- Als Unterstützung mit Jokerzeichen gibt es offensichtlich nur die Rechtstrunkierung mit *[/*:m:17vx256g]
- eine deutschsprachigen Stoppwortliste läßt sich integrieren, jedoch mit den Umlauten will es nicht richtig klappen[/*:m:17vx256g]
- Suche nach IP-Adressen und Datumsangaben (wie 11.08.08) kann nicht funktionieren, weil der Trennungspunkt ignoriert wird. Es wird anstelle dessen nach entsprechenden Einzelbegriffen gesucht. Ist als minimale Suchwortlänge 3 Zeichen zugelassen, wird z.B. 217.72.195.42 gefunden aber nicht 10.47.88.92, denn mindestens ein Suchbegriff muß die minimale Länge erfüllen. Die ft_min_word_len auf 1 zu setzen ist m.E. nicht sinnvoll.[/*:m:17vx256g]
Eine Anmerkung noch zum Feintuning der Stoppwortlisten. Beim Testen der Stoppworte sollte man beachten:
Will man ein bisheriges Stoppwort für die Suche wieder zulassen, so genügt es nicht, es aus der Stoppwortliste zu entfernen. Ein Neuaufbau des Index ist erforderlich.
Will man ein Wort zusätzlich als Stoppwort festlegen, so genügt es zunächst, es in die Stoppwortliste aufzunehmen (Neuindexieren optimiert natürlich den Index).
Update3:
Nun habe ich den Mechanismus mit der Stoppwortlichte auch begriffen. Je nach Wiki-Thema macht es Sinn eine vorbereitete Liste aus dem Internet zu laden und entsprechend anzupassen. Das Format der Liste ist ziemlich unkritisch. Die Worte werden durch eins gängiges Trennzeichen getrennt, praktischerweise jedes Wort auf eine separate Zeile. Umlaute und ggf. Sonderzeichen werden kodiert. Ein Blick in die Indextabelle hat das Rätsel gelöst:
Bsp.
unsch
u8c3b6n == unschön
aufgef
u8c3bchrt == aufgeführt
universit
u8c3a4t == universität
ma
u8c39fgeblich == maßgeblich
Somit bleiben als offene Punkte:
- ODER-Verknüpfung[/*:m:17vx256g]
- Entwertung des "." - um Datumsangaben und IP-Adressen suchen zu können[/*:m:17vx256g]
- phonetische Suche[/*:m:17vx256g]
Auf eine Befreiung aus meinem Monolog hoffend ...
Viele Grüße
PS: Ich habe das Gefühl in diesem Forum ist die kritische Masse noch nicht erreicht, schade
