Was ist ein invertierter Index?


30.11.2011

Wenn in unserem von Informationstechnologie bestimmten Alltag die Rede von Suche ist, dann meinen wir damit meistens die Funktion einer Software. In vielen Fällen handelt es sich dabei dann ganz klassisch um die Suchfunktion auf einer Webseite, in einer Business-Software oder unserem elektronischen Adressbuch. Aber diese klassischen Anwendungsfälle sind nur die Spitze des Eisbergs unseres digitalen Alltags, denn die Zahl Software-basierter Suchfunktionen ist inzwischen unüberschaubar und bestimmt unser aller Leben.

In diesem Artikel werden zunächst Ihr Blick für die wichtigsten Eigenschaften einer Suchmaschine und Suche im Allgemeinen geschärft und die Unterschiede zur klassischen Datenbank herausgearbeitet. Bevor es um das Herz einer Suchmaschine geht, den "invertierten" Index.

Suche passt in keine Datenbank

Was ist der vielleicht wichtigste Unterschied zwischen Datenbank und Suchmaschine, den man festhalten kann? Während Datenbanken die geradezu hoheitlich anmutende Aufgabe haben wichtige Daten verlustfrei zu speichern, um sie danach auf jede erdenkliche Art und Weise für Drittsysteme manipulier- und aggregierbar zu machen, haben Suchmaschinen vor allem die Aufgabe eine Recherche nach digitalen Dokumenten zu unterstützen, die für uns Menschen interessant sein könnten.

Ganz allgemein formuliert geht es immer darum, in kürzester Zeit Verweise auf all die Dokumente zu finden, die zur Suchanfrage des Nutzers passen. Die so gefundenen Ergebnisse werden dem Nutzer anschließend in einer nach Relevanz sortierten Darstellung präsentiert.

Suchmaschinen sind also im Gegensatz zur klassischen Datenbank so etwas wie Verweismaschinen, die vorrangig uns Menschen bei der Recherche in großen Dokumentensammlungen unterstützen.

Weniger Content, mehr Metadaten

Das führt uns zum ersten fundamentalen Unterschied zwischen Datenbank und Suchmaschine: Während eine Datenbank den Volltext eines Dokuments abspeichert, speichert eine Suchmaschine nur in Ausnahmefällen das vollständige Dokument. Es wäre eine unnötige Redundanz, wenn jedes Dokument aus der Datenbank auch als 1:1 Kopie in der Suchmaschine vorhanden wäre.

Typisch ist dagegen das Speichern eines kleinen Texts zur Anzeige in den Suchergebnissen. Brauchbar sind oft die ersten 250 Zeichen des Textes. Besser noch ist ein speziell für die Darstellung in Suchergebnissen geschriebener Teasertext, der den Inhalt des Dokuments treffend beschreibt. Dieser Text kann in HTML-Dokumenten beispielsweise im META-Element "description" untergebracht werden (Meta Description).

Im Gegensatz zur Datenbank kümmert sich die Suchmaschine bei der Indexierung um eine zusätzliche Anreicherung der Rohdaten mit sogenannten "Metadaten".

Der Grund dafür ist, dass die Suchmaschine als Recherche-Werkzeug möglichst viel über ein Dokument wissen muss. Eine gut konfigurierte Suchmaschine weiß sogar mehr über ein Dokument als die Datenbank, die das Dokument im Volltext enthält.

Das ist vergleichbar mit der Fachkraft in einem Buchladen, die mir zwar nicht das ganze Buch auswendig vortragen kann, dafür aber eine qualifizierte Antwort auf meine Frage: Haben Sie dieses neue Sachbuch zum Thema Internet-Suchmaschinen aus dem XY-Verlag? liefern kann. Außerdem wird die Fachkraft mir sagen können, in welchem Regal ich das Buch finden kann.

Analog zum Beispiel aus dem Buchladen ist die Datenbank also das Regal, in dem das Buch liegt und die Suchmaschine die Fachkraft, die mir bei der Recherche geholfen hat.

Eine gute Suchmaschine "versteht" die Suchanfrage

Eine sauber konfigurierte Suchmaschine ist dazu im Stande die Suchanfrage "zu verstehen" und die Reihenfolge der gefundenen Ergebnisse so zu ordnen, dass der Nutzer die besten Ergebnisse schon in den ersten paar Zeilen der Ergebnisseite präsentiert bekommt. Wie schafft sie das?

Wir erinnern uns daran, dass die Suchmaschine vor allem Informationen über ein Dokument speichert. Welche Informationen sind das und wieso helfen sie uns bei der Suche?

Gute Suchmaschinen - oder genauer: Die Komponente, die die Indexierung der Dokumente übernimmt - bieten diverse Möglichkeiten, um die extrahierten Informationen zu annotieren und als Metadaten im Suchmaschinen-Index abzulegen.

Ein Dokument im Suchmaschinen-Index - also der Datenstruktur, in der alle in einer Suchmaschine gespeicherten Information abgelegt werden - besteht aus einer Anzahl von Feldern. Jedes dieser Felder kann bestimmte Metadaten über das Dokument enthalten. Nicht alle Felder müssen für jedes Dokument gefüllt sein. Wenn etwa kein Autor bekannt ist, dann darf auch das Autor-Feld leer bleiben. Auch muss nicht jedes Feld durchsuchbar sein. Wir erinnern uns beispielsweise an den Teaser, der nur für die Darstellung innerhalb der Suchergebnisseite gedacht ist, aber nicht zwingend für die Suche selbst benötigt wird.

Die Summe aller vordefinierten Indexfelder bezeichnet man als Index-Schema. Eng mit dem Index-Schema verbunden ist die Abfragesprache der Suchmaschine, mit der die Felder gezielt durchsucht werden können. Das Thema Abfragesprache ist allerdings komplex und wird deshalb nicht Gegenstand dieses Beitrags sein.

Von Metadaten sprechen wir deshalb, weil es sich dabei um "Daten über Daten" handelt. Einfacher gesagt: Um Daten die das Dokument besonders genau beschreiben und dadurch gleichzeitig von den anderen Dokumenten in der Sammlung möglichst gut abgrenzt.

Diese Metadaten liefern also implizit schon erste Anhaltspunkte für das spätere Sortieren der Dokumentverweise nach Relevanz, so dass Dokumente mit den Metadaten ganz oben stehen, die besonders gut zur Suchanfrage passen.

Typische Metadaten in Textdokumenten aus dem Internet sind:

  • Ein URI (meistens eine URL), mit der das Dokument über das Internet erreichbar ist oder andere eindeutige Merkmale, wie z. B. die ISBN eines Buches oder der Primärschlüssel des Dokuments in der Datenbank
  • Der Autor des Dokuments
  • Der Titel des Dokuments
  • Der Text des Dokuments
  • Bekannte Personen, Firmennamen, Orte, Ereignisse
  • Die Sprache in der das Dokument verfasst wurde
  • Zeitangaben, Zahlen und Geldbeträge
  • Verlinkte Bilder oder Audio- / Video-Daten
  • Schlagworte
  • Ein oder mehrere Zeitstempel, aus denen ersichtlich ist, wann das Dokument publiziert, geändert oder abgerufen wurde

Die Aufgabe des sogenannten Indexers einer Suchmaschine ist nun die gefundenen Informationen in Metadaten zu verwandeln und in den richtigen Indexfeldern abzulegen. Aber reicht das schon?

Die rhetorische Frage aus dem letzten Satz kann man durchaus mit "Jein" beantworten. Tatsächlich hilft uns das Erkennen und Speichern der Metadaten in den dafür vorgesehen Indexfeldern schon ein gutes Stück weiter. Wir können nun beispielsweise Suchtreffer im Titel eines Dokuments höher bewerten als Suchtreffer in den Fußnoten des Dokuments. Ein exakter Suchtreffer im Autorenfeld könnte dagegen noch höher gewichtet werden als der Treffer im Titel. Wenn sowohl der Autor als auch einer seiner Titel in der Suchanfrage enthalten sind, würde das Dokument auch in einer sehr großen Dokumentensammlung auf die vordersten Plätze der Suchergebnisse gelangen.

In den Abfragesprachen moderner Suchmaschinen kann für jede Anfrage entschieden werden welche Indexfelder einen hohen Einfluss auf die Sortierung der Suchergebnisse haben sollen und welche Felder weniger relevant für die Anfrage sind (oder ganz ignoriert werden sollen).

Named-entity Recognition

Aber das soll uns noch nicht reichen, denn wir wollen ja mehr über das Dokument speichern, als unsere Datenbank hergibt. Wie wäre es zum Beispiel, wenn wir ein Datenfeld im Index hätten, das die im Dokument enthaltenen Namen von Personen separat speichert und durchsuchbar macht? Oder ein Feld in dem die erwähnten Firmennamen zu finden sind? Oder wir hinterlegen bei unserem Indexer eine Synonymliste, die zu jedem Wort im Text des Dokuments passende Synonyme in einem separaten Feld ablegt, damit bei der Suche nach "Fernseher" auch das Synonym "TV" gefunden wird, obwohl das gefundene Dokument dieses Wort gar nicht enthält.

All das erreichen wir über das Erkennen, von den in besagten Listen gespeicherten "Dingen". Etwas fachmännischer ausgedrückt: Mit "Named-entity Recognition". Wenn in einer solchen Entitäten-Liste beispielsweise die Firma "ACME" hinterlegt ist, dann wissen wir, dass für die Suchanfrage: "Der beste ACME Akkuschrauber unter 100 Euro" all die Dokumente ganz besonders relevant sind, für die bei der Indexierung im Feld "Organization" die Entität "ACME" erkannt wurde.

Der invertierte Index

Bis jetzt haben wir vor allem den Blick für die wichtigsten Eigenschaften einer Suchmaschine und Suche im Allgemeinen geschärft, die Unterschiede zur klassischen Datenbank herausgearbeitet und uns Gedanken über den Wert von Metadaten gemacht. Was ist nun aber das Herz der Suchmaschine?

weiterlesen...




Kommentare

Bitte beachten Sie unsere Informationen zum Datenschutz.

blog comments powered by Disqus

Weitere Artikel zum Thema

alle Artikel zum Thema

Autor

  • Stefan Antoni

Stefan Antoni ist Diplom Informationswirt und arbeitet seit 2009 für die Deutsche Telekom AG im Bereich Suchmaschinen und Information Retrieval. Sein Blog ist unter www.suchkultur.de zu finden.




Unsere Experten


alle Experten

Premium Lösungen

Marktübersicht

Premium Services

Dienstleisterübersicht