Suchmaschiene für meine eigene Seite - Ohne Datenbank

hemorieder

Lieutenant
Registriert
März 2003
Beiträge
652
Hey,

ich suche eine Suchmaschiene für meine Internetseite, die meine Internetseite durchsucht, obwohl keine Datenbank im Spiel ist. Also im besten Fall ähnlich wie google, also anhand des meta-tags.

Eine Personalisierte Googlesuche, oder sonstige externe anbieter kommen nicht in Frage.

Ich hatte sogar mal ein opensourcescript gefunden, aber dummerweise erinnere ich mich nicht mehr daran, und google konnte mir auch nicht weiterhelfen.

Wäre toll wenn ihr so etwas kennt.

lg
 
Was genau willst du durchsuchen und von wo aus? Was hast du zur Verfügung, was willst du definitiv nicht haben,...
 
Ich habe eine index.php die aus dem ordner "_inc" per include einzelne php-Seiten inkludiert. Letztendlich sollen diese Seiten durchsucht werden.
Gesucht werden soll durch sein Suchfeld ähnlich wie hier auf cb oder auf jeder anderen Seite.
Zur verfügung stehen php,perl,mysql.
 
Deine Inhalte kommen nicht aus einer Datenbank, sondern sind hardcoded? Dann wird es richtig räudig, die Inhalte zu durchsuchen. Nur stur einen Index über die nackten .php - Dateien zu erzeugen wäre nicht nur ineffizient sondern auch noch eine mögliche Sicherheitslücke.
Was du indizieren kannst wären die fertig gerenderten HTML-Ausgaben. Geht aber auch mehr schlecht als recht.

Machs dir doch bequem: Gib deine Inhalte in sauberem und semantisch korrektem HTML aus, leg eine sitemap.xml an, leg eine robots.txt für "unerwünschte" Orte an, arbeite mit mod_rewrite für seo-freundliche URLs und melde die Seite bei den Google Webmaster Tools. Nach 2-3 Wochen übernimmt der Google Indexer die ganze Arbeit für dich.
 
letzteres ist alles vorhanden. Aber ich möchte eine eigene Suche anbieten auf meiner Seite, und nicht eine googlelösung anbieten, welche kostenlos sogar noch werbeanzeigen einblendet. Imprinzip bräuchte ja einen eigenen crawler. ;)
 
Du brauchst nicht nur einen eigenen Crawler sondern auch Ranking-Algorithmen, und und und.
Lass es sein, eine eigene Suchmaschine ist einfach zu viel unnötige Arbeit. Es seiden du nimmst die wirklich simplen Lösung wie z.B. die Volltext-Suche einer MySQL-Datenbank (MySQL Fulltext-Index).
 
Nur, dass ein Fulltext-Index:
1.) nur mit MyISAM funktioniert... was im Vergleich zu InnoDB einfach stinkt
2.) trotz allem langsam ist

Nötig wäre wirklich ein eigener Crawler nebst Ranking etc -> totaler Overkill.
 
Hab ich was falsch verstanden? Wofür braucht er ein ranking?
Theoretisch müsste er sich nur alle vorhandenen HTML-Seiten merken (sitemap.xml?) und diese Struktur mit seinem Suchscript durchlaufen und die entsprechenden Links durchsuchen und sich die Ergebnisse merken.

Ziemlich schmuddelig und inperformant.
 
Ein Ranking brauchst du, um deinen Suchergebnissen eine Gewichtung zu geben. Kleines Beispiel:
http://www.contao.org/de/search.html?keywords=content&x=0&y=0
Ohne Gewichtung kann man den Wert der Ergebnisse total in den Skat drücken. Sobald man etwas sucht, dass mehrmals im Content vorkommt, hat man überhaupt keine Übersicht mehr.

Und genau dafür braucht man halt einen gewichteten Volltext-Index, der regelmäßig durch einen Cronjob aufgebaut wird. Alles andere bringt den eigenen Webserver ratzfatz zum Kollaps. Ich hatte mal ein Branchenbuch-System vor der Nase, da hat eine einfache Suche nach einem Firmennamen >6s gedauert... Da half dann nur noch eine Hash-Funktion, die brachte die Suchläufe nach Aufbau des Hashs auf erträgliche 800ms runter.
 
Daaron schrieb:
Ein Ranking brauchst du, um deinen Suchergebnissen eine Gewichtung zu geben. Kleines Beispiel:
http://www.contao.org/de/search.html?keywords=content&x=0&y=0
Ohne Gewichtung kann man den Wert der Ergebnisse total in den Skat drücken. Sobald man etwas sucht, dass mehrmals im Content vorkommt, hat man überhaupt keine Übersicht mehr.
Ist mir bewusst - die Frage ist, wie umfangreich seine Webseite nun wirklich ist. Wir reden hier von EINER Webseite. Hat dieses Forum hier denn auch so eine Gewichtung?
 
cronjobs stehen auch zur verfügung, und die seite besteht aus ca 20 seiten.
 
also wenn du nur nach meta tags / bestimmten keywords suchen willst könntest du die ja alle einmal in die index.php reinladen, mit dem vermerk von welcher seite die kommen und schließlich mit JavaScript gucken ob der gesuchte begriff in den keywords drinne ist. da ja alles hardcoded ist sollte das kein problem sein.

wenn du es mit php machen willst solltest du dir ein sript schreiben parser.php

der lädt dann reine html seiten und schickt diese an den index.php per include.
(und ersetzt ggf. bestimmte abschnitte mit dem entsprechend von php generierten inhalt, template system eben)

dann könntest du mit php die html seiten durchsuchen lassen indem du einfach jede datei öffnest und schaust ob das gesuchte wort dort vorkommt. bei 20 seiten dürfte das auch nicht alzu sehr an der perfomance kartzen.

die php datein durchsuchen ist schon eine andere geschichte. ginge im notfall aber über einen output buffer!
 
Zurück
Oben