Die Huhn- oder Ei-Problematik

Was war zuerst da, das Huhn oder das Ei? Der Text oder das Suchmuster? Nun üblicherweise ist erst der Text vorhanden, in dem man suchen möchte. Man lädt einen Text in einen Editor - der Text ist damit da - und dann sucht man. Aber welcher Editor interessiert sich vor dem Suchen für den Textaufbau?

Suchmusteranalyse

Beim Editor startet die Suche mit dem Befehl Suchen und damit ist das erste, was für die Suche interessant wird, das Suchmuster. Wir haben also einen gigantischen Text, sowie ein einmaliges Problem, nämlich das Suchmuster im Text zu finden. Um das Problem zu lösen, hat es nun Sinn das einmalige Problem zu lösen, nämlich sich das Suchmuster genauer anzusehen und zu analysieren.

Textanalyse

An welcher Stelle findet denn nun der Text zuerst Berücksichtigung?

Nun beispielsweise in Datenbanken, hier werden sogenannte Indezes auf Spalten gelegt, die häufig gesucht werden. Sucht man in einer Adressdatenbank nach dem Namen „Meier“, so werden nicht alle Einträge der Reihe nach auf „Meier“ untersucht, sondern der Index wird nach der Zeilennummer mit Hilfe eines Suchbaumes oder Hashs durchsucht. Sind ist die Suche optimiert, weil der bereits bekannte Text „Meier“ zuvor optimiert abgelegt wurde.

Beidseitige Analyse

Wenn man nun noch schneller suchen muss, wie es zum Beispiel eine Suchmaschine tun muss, so sind String-Vergleiche viel zu teuer. Man konzentriert sich schlussendlich nur noch auf den Inhalt und nicht mehr auf die Schreibweise. So wird aus „im all aalen alle aale herum“ eine Datenbank, die wie folgt aussieht.

Index Datum
1 Im
2 all
3 aalen
4 alle
5 aale
6 herum

und der Text wird zu einer Liste der verwendeten Wörter: Text( 1, 2, 3, 4, 5, 6 ). Jede Zahl steht für ein spezielles Wort.

Sucht man in dieser Liste nun nach „al“ wird man das Wort nicht mehr finden. „al“ ist der Suchmaschine als Wort nicht bekannt, also wurde es auch nie in einem Text erfasst. Sucht man nach „all“, so sucht die Suchmaschine nach dem 2. Wort, das im Text auch gefunden wird.

Bei Google lassen sich auch Wortkombinationen suchen, indem man sie in Anführungszeichen schreibt: „all aalen“, beispielsweise. Hier kommen wir wieder zu einer Suche, wie wir sie zuvor hatten: Wir suchen 2 Zeichen aus einem gigantisch großen Alphabet, denn für eine Suchmaschine ist jedes jemals gefundene Wort ein Zeichen im Alphabet. Das Problem der Suchmaschine ist also nichts weiter als eine Abstraktion der normalen Textsuche, nur dass nicht nach Buchstabenindezes (ASCII-Codes) gesucht, sondern nach Wörternindezes gesucht wird.

Aus diesem Grund werden wir uns auch auf die ersten beiden Fälle konzentrieren und überlassen dem geneigten Leser die Konkurrenz zu Google als (fast) triviale Übung. ;)