Mailinglisten-Archive |
-----Ursprüngliche Nachricht----- Von: Christian Hofmann [mailto:php_(at)_privatesponsor.de] Gesendet: Mittwoch, 9. August 2000 12:12 Betreff: [php] Eine richtige Suchmaschine programmieren? >ich wollte mal nachfragen ob jemand eventuell eine Idee hat. >Ich will eine Suchmaschinen programmieren, die allerdings alle Wörter einer >seite indiziert. Hallo, die einfachste Lösung ist es die komplette Seite in die DB zu stecken und dann per Volltext zu suchen: select id from pages where lower(fulltext) like '%$keyword%' Die where Bedingung solltest Du anhand der Keywords dynamisch basteln und natürlich ein lower auf die keywords. Eine nicht case-sensitive Suche ist meistens besser (da mehr Treffer). [Bitte nicht flamen, schon klar das man es manchmal nicht will ;-)] Beim Erfassen der Keywords möglichst das HTML wegschneiden (Meta Tags vorher auslesen und erhalten), je nach Server-Power den Volltext auf X Zeichen beschränken. Einige Füllwörter wie "ich, du, er, sie, es, und, oder" etc. kann man auch kicken, es sei dann man will nach ganzen Ausdrücken z.b. "Sekt oder Selters" suchen lassen. Generell gilt, daß man die Performance verbessern kann wenn man gewisse Filter Funktionen beim Erfassen der Daten (also einmalig) durchführt und nicht jedesmal "on the fly". Wer Spaß hat kann dann noch logische Verknüpfungen und Soundex einbauen - und mir dann den Source schicken ;-)) Wie gesagt, nur eine quick'n'dirty lösung. cu Michael
php::bar PHP Wiki - Listenarchive