Let’s make a Suchmaschine
Alles unbekannte ist interessant. Für mich ist es unheimlich spannend, wenn ich etwas ins Netz stelle, und nicht weiss, wie es sich entwickelt bzw. was damit passiert. Bisher ging das ganz gut. Doch ich wollte mehr. Etwas, das sich schnell zu unbekanntem ausweitet. So begann ich eine Routine zu entwickeln, welche alle Links einer Seite extrahiert und in eine DB schreibt. Danach wird auf diesen extrahierten Links nach weiteren Links gesucht. Eine interessante Kettenreaktion – eine erste Version meines Crawlers ist geboren!
Ja, warum denn nicht eine Suchmaschine programmieren? Später verfeinerte ich die Suche und optimierte das Ganze auf Speed. Trotzdem ist es teilweise noch recht langsam :/
Eine Suchmaschine besteht grundsätzlich aus zwei Teilen: Einem Crawler, der die Seiten indiziert. Und ein Client, der die Anfragen an die Datenbank schickt, und das Ergebnis sortiert zurücksendet.
Mittlerweile ist das Projekt auf diese Grösse angewachsen:

Ach ja, die Backlink-Engine; fast hätte ich’s vergessen: Backlinks sind Links, die auf eine URL zeigen. Beispielsweise zeigen mehr URLs von anderen Seiten auf www.google.ch als auf www.longneck.ch.vu. Google hat demnach auch den höheren Backlink-Count.
Die Backlink-Engine macht nichts anderes, als zu jeder Seite URLs zählen, die auf die Seite verweisen:

Der Crawler rattert durch alle URLs, die in der Links-Datenbank vorkommen, und fügt alle neuen URLs in diese ein:

Mittlerweile ist die Datenbank um ein ganzes Stück angewachsen:

Die oberen Einträge sind die nackten Links, nach diesen wird gespidert. Unten werden die Sites nach Keywords und Cache getrennt gelagert, deshalb auch der höhere Speicherplatzbedarf.
Hier der Client zur Suchmaschine: [Link]
Die Links zur Backlink- und Crawler-Engine befinden sich ebenfalls dort, ganz oben.
Jawohl, meine Suchmaschine hat eine Mini-Pagerank Engine: [Suchtreffer] + [Backlinks]*[Multiplikator] = [Pagerank] ![]()
Ach ja: Um das Design habe ich mich weniger gekümmert…

rakudave
Q: wie lang hesch do dra kha?
Longneck
klar isch s design im arsch, will nur de puuri html-code im cache isch – und s css-file isch jo extern ![]()
au uf bilder etc. muesch verzichte.
mmh, am bäschele bini sit am mentig. guet ok, i ha im gschäft dr ganz taag zyt
)

rakudave
duu widr…
))

Foxie
*g*
abr wennd do nid vrzichtisch gohts worschinds studene odr?
Longneck
sicher… rechne mol us. guet ok, i hamer au zyt gno, denn dr fun söll jo nid z churz cho ![]()

Foxie
neva in tha live!

Foxie
iii, wenn im crawler “fox” iigib, chunt als erschts irgend en msn homepage, chasch dä schrott nid no usekeie? 0:-)
isch abr e qli sach!
Longneck
ha s index rebuildet, und d keywords optimiert. sött jetzt au schneller go…
als ersti site chunt jetzt “fox-sports”. zfriede?
Longneck
ou schsch…. jetzt gsehni grad, dass die foxsports-site jo grad die msn-site isch… tja pech!

Foxie
*g*, allerdings päch…



rakudave
cooli sach!!!
allerdings, wenn me per cache iinegoht, isch desing vo dr page
im ar***
???