Suche mit Index

Im ersten Beitrag dieser Reihe ging es darum, was eine gute Suchfunktion ausmacht. Mit einer praxisbezogeneren Perspektive möchte ich mich jetzt dem Thema Such-Index widmen: Was ist das? Was nützt er? Wie kann und sollte er aussehen?

Das Herzstück der Suchfunktion

Wer sich schon einmal gefragt hat, wie wir das ganze Internet binnen Sekundenbruchteilen durchsuchen können, hat beim Recherchieren vielleicht auch die Antwort gefunden, dass ein genügend großer, aktueller und schneller Index ebendies ermöglicht. Im Wesentlichen stimmt das auch – ohne Such-Index wäre das nicht möglich; er ist das Herzstück jeder höher entwickelten Suche.

Ein Index verhält sich im Grunde ähnlich wie ein Stichwortverzeichnis in einem Buch. So wie das Stichwortverzeichnis für jeden Begriff Seitenzahlen auflistet, so sind auch im Such-Index pro Begriff Informationen zu dessen Vorkommen gespeichert. Dadurch kann die Suche blitzschnell auf relevante Inhalte zugreifen. Gäbe es dieses Stichwortverzeichnis nicht, müsste man hingegen das komplette Buch lesen, um wirklich alle Vorkommen des gesuchten Begriffs finden zu können – etwa so geschieht es bei einer sequentiellen Suche ohne Index.

Wie der Content, so der Index

Damit ein Index erstellt werden kann, muss der durchsuchbare Content vollständig vorliegen. Üblicherweise wird der Index aus dem ansonsten fertigen Produkt durch einen separaten Prozess generiert. Das hat den Vorteil, dass bei Änderungen des Contents auch der Index dynamisch aktualisiert werden kann. Das kann z.B. ein eigener Index-Server für eine Website erledigen.

In jedem Fall passiert üblicherweise bei der Indexerstellung folgendes:

  • Der gesamte Content wird ausgelesen.
  • Die Entfernung von Stoppwörtern, also von weniger bedeutungstragenden Sprachelementen, wie „der, ist, aber“. Danach möchte man in Normalfall nicht suchen, und durch die Entfernung wird der Index nicht zu groß.
  • Das Stemming der Wortformen, also eine Zurückführung auf die jeweilige Grundform. Dadurch werden Flexions-Varianten, wie „gehst“ und „gegangen“ zusammengeführt, wodurch sie auch wechselseitig gesucht und gefunden werden können.
  • Die Erstellung einer Begriffs-Liste, wobei jeder Begriff nur einmal auftaucht, und weitere Daten zu dessen Vorkommen im Content angefügt werden. Je Fähigkeiten der Suche können den Begriffen weitere Metadaten zugeordnet werden, wie z.B. Kontextwörter, Seitenkategorie, etc.

Hierbei ist zu beachten, dass die Form des Index immer ein Trade-Off zwischen Geschwindigkeit und Information darstellt: Je mehr Daten, desto langsamer und umgekehrt.

Instant-Index

Die durch die Indexerstellung erzeugte Begriffsliste kann für die Einblendung von Suchvorschlägen während der Sucheingabe verwendet werden. Dabei muss vor allem die Geschwindigkeit stimmen, um dem Benutzer der Suche in Echtzeit Feedback bieten zu können. Allerdings kann man so durch die Einführung eines Index eine weitere zentrale UX-Lücke der Suchanwendung füllen.

Insgesamt bleibt im Kopf, dass ein Index der Suchanwendung einen drastisch höheren Bedienkomfort aufgrund der Performance und den Suchvorschlägen liefert. Erreicht der Content eine gewisse Größe, ist ein Index sogar unerlässlich. Die Umsetzung der Indexerstellung ist wieder stark von den Anforderungen der jeweiligen Anwendung abhängig.

Falls Sie Fragen haben, oder mehr zu dem Thema erfahren wollen, kommen Sie gerne auf uns zu – Kommentare sind natürlich auch erwünscht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.