Zurück zur Blogübersicht
Wissenswertes

Das Suchen im Internet und vor allem das Finden von vorhandenem Wissen nimmt immer mehr zu. Daher entwickelten sich in der Vergangenheit unzählige Suchmaschinen. Die meisten dieser Suchmaschinen arbeiten nach dem gleichen typischen Muster. Dieses Arbeitsmuster ist in unten stehendem Bild dargestellt.

Für die Analyse des Internets werden spezielle Programme eingesetzt. Diese Programme werden als Crawler, Robots oder Web Spider bezeichnet. Crawler haben die Fähigkeit eigenständig Dokumente aus dem Internet zu holen und diese zu verarbeiten.   Um dies zu realisieren erhält der Crawler vom Crawl Control eine Liste mit Uniform Ressource Locators (URL). Die erster URL dieser Liste ruft der Crawler auf und lädt die Inhalte der Internetseite herunter. Nach dem downloaden der Seite wird die URL aus der Liste entfernt. Das Crawler-Programm ermittelt alle URLs, die sich auf dieser Seite befinden. Sämtliche URLs die das Crawler Control noch nicht in seinem Speicher hat, werden aufgenommen und ebenfalls besucht. Synchron zu diesem Arbeitsschritt werden die herunter geladenen Internetseiten im Page Repository gespeichert. Der Arbeitsprozess beginnt dann wieder von neuem und die nächste URL wird aufgerufen. Dieses Szenario wird solange fortgesetzt bis die zur Verfügung stehenden Ressourcen, wie bspw. der Speicherplatz, erschöpft sind.

Das Indexer-Modul hat jetzt die Aufgabe die gespeicherten Seiten aus dem Page Repository auszulesen. Der Indexer speichert dann in einem weiteren Schritt zu jedem Wort die entsprechenden URLs, welche das Wort beinhalten. Der Indexer legt alle gewonnenen Daten in einer sehr großen Tabelle ab. Diese Tabelle wird als “look up”. Das Collection Analysis Modul hat die Funktion weitere strukturierte Indizes zu erstellen.

Die Suchmaschine stellt über die Query Engine das Frontend zu Verfügung, über welches der Benutzer/in seine Anfrage bzw. seine Suche starten kann. Erhält die Query Engine eine solche Anfrage, wird diese mit Hilfe der Indizes und den implementierten Information Retrieval Techniken ausgewertet und eine entsprechende Ergebnismenge berechnet. Damit diese Ergebnismenge eine Struktur erhält und die besten Ergebnisse ganz vorne zu finden sind, gibt es das Ranking-Modul. Das Ranking-Modul könnte bspw. eine Seite, auf welcher das gesuchte Wort am häufigsten vorkommt, in der Ergebnismenge den anderen Ergebnissen voran stellen.   Diese Art des Rankings ist natürlich sehr einfach gehalten und in der Realität sehr viel komplexer.

Ein wesentliches Unterscheidungsmerkmal der einzelnen Suchmaschinen stellt neben den Crawler und Indexern die Hardwarearchitektur dar. Es werden hierbei zwei Arten von Suchmaschinenarchitektur unterschieden. Zum einen gibt es die zentrale- und zum anderen die verteilte Architektur. Bei der zentralen Architektur werden alle Aufgaben von einer zentralen Maschine bearbeitet. Die Arbeitsprozesse von Crawling, Speicherung und Indizierung werden an einem zentralen Ort auf der Maschine durchgeführt. Auf dieser Architektur basierende Suchmaschinen sind meist auf die Anfangszeit des Internets zurückzuführen.  Als Beispiele für solche Suchmaschinen ist Gopher  und Archie  zu nennen.

Bei der verteilten Architektur handelt es sich um einen Zusammenschluss von unabhängigen Rechnern, die dem Benutzer als einheitliches System dargestellt wird. Suchmaschinen die eine verteilte Architektur aufweisen, bestehen meist aus skalierbaren Clustern, die aus einer großen Anzahl von „low-cost“ Servern bestehen. Die Server können sich an unterschiedlichen Orten befinden und sind über LAN verbunden.  Beispiele für solche Architekturen stellen die Programme Napster  und Gnutella  dar.  Der Nachteil der verteilten Architektur liegt darin, dass sie einen großen Verwaltungsaufwand mit sich bringt, da die Rechner aufeinander abgestimmt und Fehlerquellen aufwendig lokalisiert werden müssen. Den Nachteilen steht eine Reihe von Vorteilen gegenüber. Der Hauptvorteil liegt jedoch darin, dass die Leistung eines Supercomputers zu einem Bruchteil der anfallenden Kosten zur Verfügung steht. Ein weiterer Vorteil gegenüber einem Supercomputer liegt in der Skalierbarkeit, d.h. es besteht die Möglichkeit das System auch nach der Installation zu erweitern.