Suchservice - allgemeine Richtlinien

Als Erstes müssen Sie beim Entwurfsprozess entscheiden, welche Daten durchsuchbar sein sollen. Welche Felder sollen durchsuchbar sein? Welche Daten soll Ihre Suche zurückgeben? Da es dabei mehrere Kompromisse gibt, lohnt es sich, sorgfältig über diese Dinge nachzudenken.

Erstens sollte Ihr Index so wenige Felder wie möglich enthalten. Weniger Felder bedeuten einen kleineren Index zur Laufzeit und weniger belegte Systemressourcen. Binden Sie nichts in den Suchservice ein, was nicht benötigt wird.

Jedes Feld in Ihrem Index kann indexiert und/oder gespeichert werden (d. h. durchsuchbar sein und/oder Sie können seinen Wert abrufen). Die Gründe für die Indexierung eines Feldes liegen auf der Hand: Sie wollen auf seiner Grundlage Suchabfragen durchführen. Allerdings wollen Sie in bestimmten Feldern möglicherweise keine Suchabfragen durchführen, beispielsweise in von Menschen nicht lesbaren IDs. Sie könnten solche Felder als gespeicherte, jedoch nicht indexierte Felder zu Ihrem Suchservice hinzufügen, um Datenbanksuchvorgänge auf der Basis der Ergebnisse Ihrer Suchabfragen ausführen zu können. Wenn Sie ein Feld nicht indexieren müssen, tun Sie es nicht. Dann laufen Ihre Extraktionsprozesse schneller ab und Ihr Index verbraucht weniger Systemressourcen.

Analog dazu könnten Sie entscheiden, ob Feldwerte gespeichert werden sollen oder nicht. Im Allgemeinen speichert der Index nicht den ursprünglichen Wert eines Feldes, sondern behält nur eine durchsuchbare Darstellung bei. Generell gilt: Damit die Suche nützlich ist, muss sie mindestens ein Feld speichern (den entsprechenden Primärschlüssel des Datenbanksatzes).

Danach ist es ein Kompromiss, ob Felder gespeichert werden oder nicht. Sie könnten alle benötigten Felder speichern, um die Suchergebnisse anzuzeigen, oder Sie könnten nur die Datenbank-IDs speichern und mit ihrer Hilfe die anzuzeigenden Daten aus der Datenbank abrufen. Die erste Option führt zu einem viel größeren Index, bewirkt jedoch eine schnellere Anzeige der Suchergebnisse, da die Datenbank nicht erforderlich ist.