bestimmte Wörter verlängern, Optimierung
Verfasst: 07.02.2007 19:55
Ich möchte die MySQL Volltextsuche nutzen (etwas zweckentfremdet). Problematisch ist, daß Wörter mit weniger als vier Zeichen nicht berücksichtigt werden. Diese Einstellung zu ändern ist sehr aufwendig und nicht jedem möglich. Also habe ich mir überlegt, die für die Anwendung wichtigsten kurzen Wörter zu verlängern (durch einen sinnlosen und selten vorkommenden String).
Bisher mache ich es so:
Die Groß- und Kleinschreibung soll erhalten bleiben und auf das Wort kann nicht nur ein Lehrzeichen sondern auch ein Satzzeichen folgen.
Ich sehe keine Möglichkeit zur Optimierung auf die Angabe der Wörter in Groß- und Kleinschreibung zu verzichten. Wer hat eine Idee?
Mit regulären Ausdrücken würde es gehen aber das wäre auch wieder langsamer als str_replace().
PS: Ich esse jetzt erst mal Abendbrot, nur zur Information, wegen dem angesprochenen "nicht wieder reinschauen".
Bisher mache ich es so:
Code: Alles auswählen
static $kurze_woerter = array('Was', 'Wo', 'Wer', 'Wie', 'Wem', 'Du', 'Ich', 'was', 'wo', 'wer', 'wie', 'wem', 'du', 'ich');
// kurze (kleiner als vier Buchstaben) wichtige Wörter für Volltextsuche verlängern
for($i = 0; $i < count($kurze_woerter); $i++)
{
$text = str_replace($kurze_woerter[$i], $kurze_woerter[$i].$lang, $text);
}
Ich sehe keine Möglichkeit zur Optimierung auf die Angabe der Wörter in Groß- und Kleinschreibung zu verzichten. Wer hat eine Idee?
Mit regulären Ausdrücken würde es gehen aber das wäre auch wieder langsamer als str_replace().
PS: Ich esse jetzt erst mal Abendbrot, nur zur Information, wegen dem angesprochenen "nicht wieder reinschauen".