11.09.2008, 16:51
Broadcasttechniker schrieb:... Die Suche ist "oder" veknüpft ..
Joo, so schaut das aus - vom Ergebnis her betrachtet.
Ich hatte mir das Forum vor einiger Zeit mal heruntergeladen und installiert. Nicht wegen der Suche, sondern weil mich der dämliche Zähler nervt.
Heute habe ich mir mal den Code der Suche angeschaut...
Also, zunächst mal die Theorie.
Die Suche soll neben der Eingabe von Suchbegriffen auch die Eingabe von logischen Operatoren erlauben. Also beispielsweise so:
bremsen vorne --> (OR Oder)
bremsen + vorne --> (AND Und)
bremsen - vorne --> (NOT Nicht)
Code:
...
$keywords = '';
foreach($words as $word)
if($word == "or")
{
$boolean = '';
}
elseif($word == "and")
{
$boolean = "+";
}
elseif($word == "not")
{
$boolean = "-";
else
{
$keywords .= " ".$boolean.$word;
$boolean = ''
}
}
$keywords = "+".trim($keywords);
return $keywords;
...
Wenn man das Ganze mal mit den Suchkombinationen
bremsen vorne
bremsen + vorne
bremsen - vorne
und den Suchoptionen
-Suche in vollständigen Nachrichten
-Suche nur in Betreffen
ausprobiert, ist das Ergebnis niederschmetternd.
Kann ja wer möchte mal spaßeshalber ausprobieren
Solche Suchergebnisse können zwei Ursachen haben:
1)
Der Code der Suche ist grundsätzlich buggy
2)
Beim MySQL-Server ist der falsche Zeichensatz eingestellt
Punkt 1 kann letztendlich nicht beurteilen, weil meine Welt VB bzw. VBA und TransAct-SQL ist. Das heißt, ich kann den PHP-Code zwar lesen und verstehen, aber nicht mal eben erkennen, wo da eventuell der Hund begraben sein könnte.
Und an den MySQL-Server komme ich nicht ran -da sitzt der DB-Admin vor
Gruss
Klaus
Authentique Phase 2 - D7F F702 - a. d. v id. dec. MCMXCVIII
Galaxy Phase 1 - C3G A700 - id. iun. MCMXCIV
Heide-Twingos
Galaxy Phase 1 - C3G A700 - id. iun. MCMXCIV
Heide-Twingos