Suche: Script für Stichwortsuche
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfangen
artikel
artikelnummer
bug
hauptsache
katalog
leeren kommentare
nomen
posten
realisieren
schimpfen
sorgen
suche
tabelle
unwichtigen trennen
weglassen
wichtig echo
wichtig wichtig wort
wichtigen worten
wort
-
Hallo!
Ich benötige für ein Projekt ein Skript oder ähnliches für eine Stichwortsuche in PHP. Folgendes sollte die Suche ungefähr können, es würde schon reichen, wenn sie auch nur einen Teil meiner Kriterien erfüllen könnte, hauptsache ich muss nicht alles selbst neu schreiben.
Also folgendes sollte so ungefähr funktionieren:
- In der Datenbank ist eine Artikelbeschreibung und das Skript soll die wichtigen Wörter (wie z.b. Nomen) erkennen und die unwichtigen Wörter weglassen, diese zu einer neuen Tabelle hinzufügen (bei diesen Wörtern soll die Suche nachher suchen)
- Bei einer Suche ebenfalls die wichtigen Wörter von den unwichtigen trennen und in der Tabelle für die Suche (die, die im 1. Schritt erstellt werden soll) suchen
Das wichtigste wäre auf jedenfall für mich, die Trennung von den wichtigen und unwichtigen Wörtern. Falls jemand eine Idee hat, wie sich das realisieren lässt, kann er natürlich auch posten ^^.
Vielen Dank im voraus
mfg
cs3000
Beitrag geändert: 2.3.2008 14:01:27 von cs3000 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wenn nur Nomen wichtig sind kannst du ja nur nach Wörtern suchen die mit einen großbuchstaben anfangen, und dann schauen ob ein Satzzeichen davor steht. Natürlich würde er dann Nomen am Satzanfang ignorieren, ist halt das Blöde in deutsch dass die Sätze mit Subjekten und nicht mit Prädikaten anfangen.
Ansonst erstelle selbst ne Liste mit wichtigen Worten in einer anderen Tabelle, starte ne Schleife, nimm ein Wort, vergleiche per stristr(), kommt es vor Ädde es zu einer Variable und trage es am Ende ein.
Könnte grob gesehen so aussehen:
<?php
$artikelnummer = $_GET[\'id\'];
$sql = mysql_query(\"SELECT * FROM wichtige_woerter\");
while($row = mysql_fetch_object($sql))
{
/*....*/$sql2 = mysql_query(\"SELECT * FROM artikel WHERE ID = $artikelnummer\");
/*....*/$row2 = mysql_fetch_object($sql2);
/*....*/$wort = $row->Woerter;
/*....*/$artikelbesch = $row2->Artikelbesch;
/*....*/if(stristr($artikelbesch, $wort))
/*....*/{
/*....*//*....*/$wichtig = $wichtig.\" \".$wort;
/*....*/}
}
mysql_query(\"INSERT INTO artikel (wichtig)VALUES(\'$wichtig\')\");
echo \"Fertig. 8)\";
?>
Die leeren Kommentare dienen als Tabulator. Habs nicht getestet und bin relativ müde, also nicht schimpfen wenn ich ein oder zweihundert Bugs eingebaut habe, passiert ja jeden einmal. Außerdem sorgen Bugs bei der Scriptausführung für den gewissen Überraschungseffekt. ;)
Und die Bug-Suche sorgt dafür dass einem auch nicht langweilig wird. -
Was sind denn für dich wichtige Wörter? Tischtennisnetzfädenummantelungsfabriksvorstandsvorsitzender ist auch ein Substantiv und ich würde es spontan erstmal nicht als wichtig einschätzen.
Du müsstes am besten selbst einen Katalog mit Wörtern anlegen.
Warum soll es denn keine Volltextsuche sein? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage