phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] Eine richtige Suchmaschine programmieren?

[php] AW: [php] Eine richtige Suchmaschine programmieren?

Michael Krax (DE) michael.krax_(at)_computec.de
Wed, 9 Aug 2000 12:28:22 +0200


-----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