Website Suche
michi
- php
Hallo,
ich möchte gerne eine Suche für meine Homepage scripten, habe aber bisher keinen so richtigen Plan, wie man so was realisiert.
Ich möchte kein Fremdscript benutzen, sondern ein eigenes schreiben.
Ich möchte keinen Code, sondern eine Denkanstoss / Lösungsansätze.
Vielen Dank für die Hilfe.
ich möchte gerne eine Suche für meine Homepage scripten, habe aber bisher keinen so richtigen Plan, wie man so was realisiert.
kommt drauf an - willst du eine datenbank durchsuchen oder physikalische html-files bzw gar andere dateitypen?
Ich möchte kein Fremdscript benutzen, sondern ein eigenes schreiben.
guter plan
Ich möchte keinen Code, sondern eine Denkanstoss / Lösungsansätze.
mit fertigem code hätte dich sicher keiner versorgt ;)
Hallo,
kommt drauf an - willst du eine datenbank durchsuchen oder physikalische html-files bzw gar andere dateitypen?
habe zwar eine Datenbank angebunden, die auch auf fast jeder Seite angezapft wird, aber eigentlich möchte ich die Datenbank selbst nicht durchsuchen lassen. Lieber wäre mir, wenn das Suchscript alle Seiten (also das Endergebnis der Scripts) durchsucht. Außerdem möchte ich - wenn möglich - keine Suche, die alle Seiten indizieren und die Ergebnisse in eine Datenbank screiben muss, sondern sozusagen eine "Echtzeit"-Suche.
Danke nochmal.
habe zwar eine Datenbank angebunden, die auch auf fast jeder Seite angezapft wird, aber eigentlich möchte ich die Datenbank selbst nicht durchsuchen lassen.
wäre aber die einfachste lösung
SELECT id, title FROM content WHERE text like '%q%'
wobei q dem suchbegriff entspricht
Lieber wäre mir, wenn das Suchscript alle Seiten (also das Endergebnis der Scripts) durchsucht. Außerdem möchte ich - wenn möglich - keine Suche, die alle Seiten indizieren und die Ergebnisse in eine Datenbank screiben muss, sondern sozusagen eine "Echtzeit"-Suche.
alternativ:
du benötigst eine liste aller ressourcen/seiten die du im suchindex haben möchtest, diese gehst du in einer schleife durch und suchst im quelltext nach deinem suchbegriff (z.b. mit einem regurlären ausdruck)
diese methode ist allerdings sehr langsam für eine echtzeit suche und ist nicht wirklich empfehlenswert, da du sehr viele dinge beachten musst (markup entfernen, welches nicht in die suche rein soll (kommentare im quelltext, menuführung usw)
Servus,
alternativ:
du benötigst eine liste aller ressourcen/seiten die du im suchindex haben möchtest, diese gehst du in einer schleife durch und suchst im quelltext nach deinem suchbegriff (z.b. mit einem regurlären ausdruck)diese methode ist allerdings sehr langsam für eine echtzeit suche und ist nicht wirklich empfehlenswert, da du sehr viele dinge beachten musst (markup entfernen, welches nicht in die suche rein soll (kommentare im quelltext, menuführung usw)
wäre mir viel lieber, so groß ist meine Seite nicht - vielleicht so 20 Seiten - allerdings muss ich dann immer noch diese Liste mit den zu durchsuchenden seiten pflegen. Aber - für mich - besser als eine Datenbankindizierung oder ähnliches.
Vielen Dank für die Hilfe.
Hi!
... Aber - für mich - besser als eine Datenbankindizierung oder ähnliches.
Warum?
Was steht denn in der Datenbank? Der komplette Content der einzelnen dynamisch generierten Dokumente?
Hast du auch statische Inhalte?
off:pp
Hallo,
Was steht denn in der Datenbank? Der komplette Content der einzelnen dynamisch generierten Dokumente?
Hast du auch statische Inhalte?
Habe zu 50% statischen Inhalt und zu 50% aus einer Datenbank generierten.
Die Suche soll aber eigentlich "von selber" laufen, ohne, daß ich jedes mal nach der kleinsten Änderung wieder ein halbstündiges Script drüber laufen lassen muss, dass meine Seite indiziert und meine Datenbank aufbläst wie einen Heißluftballon.
Hallo,
Was steht denn in der Datenbank? Der komplette Content der einzelnen dynamisch generierten Dokumente?
Hast du auch statische Inhalte?Habe zu 50% statischen Inhalt und zu 50% aus einer Datenbank generierten.
Die Suche soll aber eigentlich "von selber" laufen, ohne, daß ich jedes mal nach der kleinsten Änderung wieder ein halbstündiges Script drüber laufen lassen muss, dass meine Seite indiziert und meine Datenbank aufbläst wie einen Heißluftballon.
was meinst Du mit "von selber" laufen?
Von wievielen Seiten reden wir überhaupt?
Guck Dir mal W3 Sitesearch an, ob das funktionell paßt.
lg
Reiner
allerdings muss ich dann immer noch diese Liste mit den zu durchsuchenden seiten pflegen.
musst du ansich auch nicht, du kannst diese liste ja selbst dynamisch ermitteln - diese liste nennt sich dann "sitemap" - am besten stellst du diese gleich in einem entsprechenden format bereit welches einerseits suchmaschinen nutzen können und andererseits du selbst für deine eigene suche nutzt - damit schlägst du zwei fliegen mit einer klappe
Hallo Michi,
Ich möchte keinen Code, sondern eine Denkanstoss / Lösungsansätze.
Das ist doch ein Wort! :)
Dokumente, die statisch serviert werden, sind mit PHP sehr leicht zu durchsuchen. Dokumente (sourcen), die dynamisch generiert werden, sind schon etwas aufwändiger zu durchsuchen. Um alle zu durchsuchenden Dokumente dem Suchskript bekannt zu geben, musst Du Dir eine geeignete Methode einfallen lassen. Am einfachsten wären eine Datei/Datenbank, die alle Dokument auflistet. Gleichsam könnte das Suchskript aber auch die Verzeichnisstruktur rekursiv auslesen und so alle Dokumente/Skripte erfassen. Du könntest auch von der Startseite ausgehend alle Verweise auslesen und so rekursiv alle tatsächlich (gewollt) erreichbaren Dokumente der Webpräsenz erfassen. Letzteres ist selbstverständlich die eleganteste Methode, da hier insbesondere von sourcen ausgegangen wird. Probleme durch Rewrite-Applikationen und Skripte umgeht man so, wenn die verwiesenen sourcen immer mittels HTTP abgerufen werden.
Um den Inhalt eines statischen Dokuments zu erhalten, liest Du dieses ein und entfernst alle HTML-Tags mit strip_tags() oder fgetss(). Dynamische Dokumente müssen jedoch vor dem Einlesen durch den entsprechenden Interpreter oder durch das generierende Programm erst erzeugt werden. Du darfst sie also nicht über das Dateisystem einlesen, sondern musst sie per HTTP über den Webserver beziehen.
Fragen? Frag!
Gruß aus Berlin!
eddi
Hi,
Ich möchte keinen Code, sondern eine Denkanstoss / Lösungsansätze.
Das ist doch ein Wort! :)
Dokumente, die statisch serviert werden, sind mit PHP sehr leicht zu durchsuchen. Dokumente (sourcen), die dynamisch generiert werden, sind schon etwas aufwändiger zu durchsuchen.
Unsinn!
Worin unterscheidet sich der html-Code einer statischen Seite denn von dem einer dyn. generierten?
lg
Reiner
Gudn!
Worin unterscheidet sich der html-Code einer statischen Seite denn von dem einer dyn. generierten?
Er muss _erzeugt_ werden und ist deshalb nicht unmittelbar verfügbar. Also muss man sich erst Gedanken machen, wie man _sämtliche_ Dokumente die möglich sind dynamisch generiert.
Das ist sehr wohl ein Unterschied zu einer statischen Verzeichsnisstruktur, die man rekursiv auslesen kann.
Gruß, Samoht
Gudn!
Worin unterscheidet sich der html-Code einer statischen Seite denn von dem einer dyn. generierten?
Er muss _erzeugt_ werden und ist deshalb nicht unmittelbar verfügbar. Also muss man sich erst Gedanken machen, wie man _sämtliche_ Dokumente die möglich sind dynamisch generiert.
Das ist sehr wohl ein Unterschied zu einer statischen Verzeichsnisstruktur, die man rekursiv auslesen kann.
achso, verstanden. Warum hoppelst Du denn durch das Filesystem?
Wäre es nicht einfacher, per Robot über den Auftritt zu laufen?
lg
Reiner
Gudn!
achso, verstanden. Warum hoppelst Du denn durch das Filesystem?
Also _ich_ hoppel sicher nicht :)
Wäre es nicht einfacher, per Robot über den Auftritt zu laufen?
Möglich, hängt von der Anwendung ab würde ich sagen. Mit dieser Art von Suche habe ich mich noch nicht eingehender auseinandergesetzt, ich bevorzuge Datenbanken.
Gruß, Samoht
Hallo,
achso, verstanden. Warum hoppelst Du denn durch das Filesystem?
Also _ich_ hoppel sicher nicht :)
also wenn ein Schuß käme, bin ich auch nicht derjenige, der ihn nicht hören würde und weiterhoppelte. :)
Sachlich: In einem Web, das nur aus statischen sourcen besteht, entgeht man dem Preis der Eleganz, der bei vielen Anfragen an das Suchskript in dem Fall ein Self-DoS bedeuten könnte. ;)
Allgemein wollte ich auch genau das machen: Wie gefordert Denkanstöße geben. ;)))
Wäre es nicht einfacher, per Robot über den Auftritt zu laufen?
s. o.
Gruß aus Berlin!
eddi