Suchmaschinen - Search Engines

Inhaltsverzeichnis:

  1. Grundlagen
      Möglichkeiten, im Netz Daten zu finden
      Problematik
  2. Kategorisierung von Suchmaschinen
  3. Funktionsweise von Suchmaschinen
      Standart for Robot Exclusion
      Politisch korrekte Bots
  4. Agenten
  5. Suchalgorithmen
  6. Fehlertolerante Suche von Text
  7. Tips / Wissenswertes
  8. Glossar
  9. Literatur
      Bücher
      Artikel
      Links
10. Prüfungsrelevante Fragen


1. Grundlagen

Möglichkeiten, im Netz Daten zu finden:

Problematik

Probleme: Suchmaschinen sind die richtige Wahl wenn es darum geht: Thematische Verzeichnisse dagegen sind eher geeignet, wenn man:

2. Kategorisierung von Suchmaschinen

Art der Ergebnisdarstellung (Welche Treffer werden als erstes aufgelistet)

Art der Indizierung

Art des Datenerwerbs

Kataloge und Register

Kataloge und Register werden in der Regel von Menschen generiert, dadurch sind sie nicht so umfassend wie computergenerierte Indexe. Man kann aber von einer höheren Qualität des Index ausgehen, da der Ersteller des Index die Qualität der Seite bewerten kann und dementsprechend nur hochwertige und passende Seiten in den Katalog integrieren wird.

Meta-Suchsysteme

Meta-Sucher bieten einen Weg aus diesem Dilemma. Sie benutzen mehrere Recherchedienste gleichzeitig, integrieren die Ergebnisse und geben sie gesammelt wieder aus.

Harvest-Systeme

Harvest-Systeme arbeiten mit Bots. Diese laufen aber im Gegensatz zu normalen Suchmaschinen lokal auf dem zu indizierenden Server. Sie schicken dann nur den generierten Index zum Suchdienst-Server, anstatt die komplette Seite anzufordern. Dadurch wird die Netzlast reduziert und keine Bandbreite verschwendet.


3. Funktionsweise von Suchmaschinen

Eine Suchmaschine unterteilt sich in zwei große Komponenten, die Wissenserwerbskomponente und die Wissensbasis. In der Wissensbasis befindet sich auf dem Server des Betreibers. In ihr ist ein Index der Internetseiten gespeichert. Die Wissenserwerbskomponente dient dazu, den Index auf dem neuensten Stand zu halten. Der Index ist meistens in einer Datenbank gespeichert. Da niemand in der Lage ist, die Datenbank auf einem aktuellen Stand zu halten, setzt man dazu Programme, sogenannte Robots ein.
Robots auch Bots genannt durchsuchen das Internet, indem sie sich durch die Links der HTML-Seiten hangeln. Die gelesenen Seiten werden dabei indiziert. Bots werden z.B. in Perl erstellt. Der Index wird ständig aktualisiert. Tote Links werden entfernt und neue Seiten hinzugefügt. Bei einem Vollindex von mehren Millionen Seiten treten sogenannte Totzeiten auf, da es eine Zeit dauert bis eine bereits indexierte Seite aktualisiert wird. So kann der Index einer Seite teilweise mehrere Wochen alt sein. Seiten mit hohen Zugriffszahlen werden aus diesem Grund von den Bots öfter gescannt, um eine hohe Aktualität zu gewährleisten.
Stellt nun ein Benutzer eine Abfrage an die Suchmaschine, so wird diese auf der lokalen Datenbank ausgeführt. Die Ergebnisse werden dann als Links auf die entsprechenden Seiten zurückgeliefert.
 

Standart for Robot Exclusion

Der Standard for Robot Exclusion dient zur Einschränkung der Zugriffsrechte von Bots auf Server. Es handelt sich dabei wohlgemerkt um einen freiwilligen Standart. Niemand der Bots programmiert ist verplichtet, den Standart einzuhalten, und es gibt auch kein Gremium, daß Verstöße aufspürt. Dennoch hat er sich dieser Standart etabliert. Dazu wird einfach im Rootverzeichnis des Servers eine Datei namens robots.txt erzeugt. In ihr befinden sich unter anderem folgende Zeilen:
# go away
User agent: *
Disallow: /
Über die Felder User agent lassen sich bestimmte Agenten aussperren. Mit Disallow lassen sich einzelne Verzeichnisse dicht machen.
Hat man kein Zugriffsrecht auf das Rootverzeichnis des Servers, so kann man sich beim Schreiben von HTML-Dokumenten auch mit einem geeigneten Header behelfen. Auch hierfür existieren Standards, um den Zugriff auf Seiten einzuschränken. Mit sog. Meta-Tags läßt sich die Indizierung der Texte steuern.

Politisch korrekte Bots

Es gilt weiterhin folgende Richtlinien beim Schreiben von Bots zu beachten. HTTP unterstützt ein Feld "User-agent" mit dem sich ein Browser identifizieren kann. Robots sollten sich damit ausweisen. Eine ähnliche Funktion hat das "From" Feld. In ihm sollte die Emailadresse des Bot-Betreibers eingetragen werden. Macht ein Bot Probleme, so kann der Verursacher darüber informiert werden.


4. Agenten

Charakteristische Merkmale von Agenten:
Ein Agent handeln autonom, er kennt seine Fähigkeiten, hat Kontrolle über seine Handlungen, und kann daher ohne direkten Eingriff des Benutzers tätig werden.
Agenten müssen in der Lage sein, mit Artgenossen zu kommunizieren. Stoßen sie an die Grenzen ihrer Leistungsfähigkeit, nehmen sie Kontakt mit anderen Agenten auf und suchen nach Helfern.
Für das Überleben in dynamischen Umgebungen muß die Software in der Lage sein, unvorhergesehen Ereignisse beim  weiteren Vorgehen zu berücksichtigen. (Reaktivität)
Agenten müssen Eigeninitiative zeigen. Sie sollen nicht nur reagieren, sondern haben übergeordnete Ziele, die sie selbständig verfolgen.


5. Suchalgorithmen

Der Einsatz von geeigneten Suchalgorithmen beschleunigt die Volltextsuche teilweise bis zum Faktor 6. Diese Algorithmen machen sich dabei aus vorhergehenden Abfragen gewonnene Information zunutze, um das Suchmuster mit jedem Schritt möglichst weit vorwärts zu schieben.
Beachte:
    Die String-Vergleiche werden bei T-search und T++-search von rechts nach links durchgeführt!
    Der zu suchende String wird ans Ende des Textes kopiert, dadurch wird eine performancefressende EOF-Abfrage umgangen.

Brute Force:

Position
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Text
a
b
c
a
a
c
b
c
a
d
a
b
a
c
Muster
a
b
a
c
                   
   
a
b
a
c
                 
     
a
b
a
c
               

Standardmäßiges Vorgehen mit Brute Force.

Quicksearch:

Position
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Text
a
b
c
a
a
c
b
c
a
d
a
b
a
c
Muster
a
b
a
c
                   
     
a
b
a
c
               
           
a
b
a
c
         
                     
a
b
a
c

Quicksearch ermittelt anhand des Zeichens hinter dem Text, wie weit es weiter schieben darf.

T-search:

Position
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Text
a
b
c
a
a
c
b
c
a
d
a
b
a
c
Muster
a
b
a
c
                   
     
a
b
a
c
               
             
a
b
a
a
b
a
c

T-search nutzt Informationen aus erfolgreichen Vergleichen aus, um noch größere Sprünge zu machen.

T++-search:

Position
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 16
Text
a
b
c
a
a
c
t
e
D
i
s
k
e
t
t
e
Muster
D
i
s
k
e
t
t
e
 
 
 
 
 
 
   
 
 
 
       
 
 
D
i
s
k
 e
 t
t
e

T++-search berücksichtigt, weiterhin, daß ein Shift um drei Zeichen nicht in Frage kommt, da "ke" dann auf "te" liegen würde.


6. Fehlertolerante Suche von Text

Eine leicht zu verstehende und implementierende Art der Textindizierung ist die durch Trigramme. Das Suchwort wird in dreier-Buchstabengruppen zerlegt.
Bsp.: "Reisebus" in RE, REI, EIS, ISE, SEB, EBU, BUS, US.
Es werden in einem Index über alle Trigramme diejenigen Texte herausgesucht, in denen alle/viele Trigramme vorkommen.
Optimierung des Verfahrens:

7. Tips / Wissenswertes


Stand 01.05.99
KEY: AV=AltaVista, NL=Northern Light, INK=Inktomi, FAST=FAST
          EX=Excite, LY=Lycos, IS=Infoseek, WC=WebCrawler
Anmerkung: Geschätzte Seitenzahl 01.05.99 ca. 550 Mio.
Weitere Infos / Diagramme


8. Glossar

Robot Programm, das Internetseiten indiziert
URL Uniform Ressource Locator
Smart browsing Verweis auf themenbezogene Seiten durch Auswertung von Benutzerverhalten
Meta-Suchdienste  Suchdienste, die Abfragen an mehrere andere Suchdienste stellen und die Ergebnisse dann auswerten und aufbereiten
Spider, Worm siehe Robot
Agenten Programme die selbständig Aufgaben des Anwenders übernehmen und ihn bei der Arbeit unterstützen.


9. Literatur:

Bücher

Effektive Suche im Internet; Ulrich Babiak; Köln 1997; O´Reilly-Verlag; 185 Seiten; 29 DM; ISBN 3-930673-68-1

Artikel

Wortschätze heben, Volltext-Retrievalsysteme; c't August 96  S.160
Software mit Managerqualitäten, Agenten-Programme mit Überzeugungen und Absichten; c't 15/97 S.234
Roboter-Baukasten, WWW-Automaten in Perl selbst programmieren; c't März 96 S.164
Autopiloten fürs Netz, Intelligente Agenten - Rettung aus der Datenflut; c't März 96 S.156
Blitzfindig, Texte durchsuchen mit T-Search; c't August 97 S.292
Text-Detektor, Fehlertolerantes Retrieval ganz einfach; c't April 97 S.386

Links

Searchengines:
http://www.1079.com/book/3search.htm
http://www.fh-duesseldorf.de/WWW/DOCS/FB/ETECH/DOCS/itk/Suchmasch_Vortrag.html
http://searchenginewatch.com/
http://o2f.fh-potsdam.de/jan/searchengines/index.html
http://www.ub2.lu.se/tk/demos/DO9603-meng.html
http://www.ub.uni-bielefeld.de/biblio/search/smkurs.htm
http://trumpf-3.rz.uni-mannheim.de/www/sem96w/bb/SuchenFinden.html
http://www.suchfibel.de/5technik/5frame2.htm

Robots:
http://www.bn-nd-sob.baynet.de/pub/Doku/robotfaq.htm
http://info.webcrawler.com/mak/projects/robots/articles.html
http://bots.internet.com/faqs/
http://www.botspot.com

Internet Dictionary:
http://www.msg.net/kadow/answers/answers.html


10. Prüfungsrelevante Fragen

1. Was versteht man unter einem Meta-Suchdienst
    Ein Meta-Suchdienst, stellt Abfragen an mehrere andere Suchdienste.
    Er wertet die Ergebnisse der anderen Suchdienste aus und bereitet sie auf.

2. Was ist ein "Bot"
    Ein Bot ist ein Programm zur Indizierung von Internetseiten.

3. Nennen Sie vier Probleme, die sich beim Einsatz von Suchmaschinen ergeben.


 


Erstellt von Michael Hinterseher FB 07 Informatik/Mathematik
Mai 1999