Zielgruppe EntwicklungVersion: GSB10.0Funktionalitäten
Im Folgenden wird ein Überblick der am weitesten verbreiteten Features der Solr basierten Suche gegeben.
Funktionalitäten der Solr basierten Suche
Die hier beschriebenen Features werden noch einmal detailliert im Bezug auf deren Verwendung und Konfiguration im GSB in einem separaten Artikel betrachtet: Beschreibung der Solr Suche im GSB
Vorschlagsuche
Mit der Vorschlagssuche kann der Benutzer bei der Formulierung seiner Suchanfrage unterstützt werden. Hierbei werden dem Nutzer bereits bei der Eingabe von Suchbegriffen, in der Regel schon nach den ersten eingegebenen Buchstaben, Vorschläge zu seiner Suche gemacht. Es wird zwischen dem Vorschlagen von Suchergebnissen und Suchbegriffen unterschieden. Die Vorschläge erscheinen durch Einblendungen innerhalb der Suchmaske. Dabei schließen sich beide Arten der Vorschlagssuche nicht aus, sondern können in einer Vorschlagsliste kombiniert werden.
Durch die Auswahl eines vorgeschlagenen Suchergebnisses gelangt der Benutzer unmittelbar auf die zum Treffer gehörende Seite. Hierzu wird im Hintergrund eine normale Suche durchgeführt und die Ergebnisse in die Seite eingeblendet. Diese Art der Hilfestellung eignet sich insbesondere dann, wenn nur bestimmte Felder im Index für die Erzeugung der Trefferliste betrachtet werden müssen.
Für die Realisierung einer solchen Funktionalität ist Solr gut geeignet, da es alle nötigen Elemente bereits mitbringt. Ein Großteil der Funktionalität zur Umsetzung einer solchen Lösung fällt daher auf die Realisierung der Suchmaske und Implementierung der Javascript-Logik zum Nachladen und Einblenden der Vorschläge. Die Standardlösung setzt die Vorschlagsuche in der Service- und Expertensuche entsprechend um.
Im Gegensatz zum Vorschlagen von Suchtreffern ist dieses Hilfsmittel geeigneter für Volltextsuchen und Suchen in wenig strukturierten Daten. Für die Erzeugung der vorgeschlagenen Begriffe kommen zwei Quellen in Frage. Dies sind zum einen die von Nutzern eingegebenen Suchbegriffe, aus denen sich erst nach einiger Zeit entsprechende Vorschläge erzeugen lassen. Zum anderen lassen sie sich aus dem Index selbst ermitteln, basieren also wie zuvor beim Vorschlagen von Treffern auf einer Suche im normalen Index.
Die Konfiguration der Vorschlagssuche für die Standardlösung wird exemplarisch hier vorgestellt: Konfiguration der Vorschlagssuche
Alternativsuche
Ein weitverbreitetes Mittel dem Nutzer bei fehlerhaften Eingaben weiterzuhelfen besteht darin, ihm auf der Suchergebnisseite einen alternativen Suchbegriff vorzuschlagen. Dieser korrigiert in den meisten Fällen die Schreibfehler und ermöglicht es durch Auswählen eines Links die geänderte Suchanfrage auszuführen.
Auch wenn es den Eindruck erweckt, muss nicht in allen Fällen eine Korrektur der Schreibweise erfolgen, da die Korrekturvorschläge auf Basis des Suchindexes ermittelt weden. Wenn also Begriffe in den indizierten Inhalten häufig falsch geschrieben werden, so können diese als Alternative vorgeschlagen werden. Daher reicht hierzu eine Rechtschreibprüfung, wie sie zum Beispiel in einem Textverarbeitungsprogramm verwendet wird, nicht aus.
Solr bietet hierzu eine Komponente an, die zusätzlich während der Bearbeitung einer Suchanfrage etwaige Vorschläge erzeugt. Diese können dann zum Zeitpunkt der Darstellung der Suchergebnisse ausgewertet und bei Bedarf eingeblendet werden. Die gemachten Vorschläge werden anhand einer vorgegeben Bewertungsfunktion sortiert
Die Konfiguration der Alternativsuche für die Standardlösung wird exemplarisch hier vorgestellt: Konfiguration der Alternativsuche
Phonetische Suche
Nicht nur bei der Suche von Namen kann es nützlich sein, neben den Treffern, die der exakten Schreibweise des vom Nutzer eingegebenen Suchbegriffs entsprechen, auch diejenigen Ergebnisse zu berücksichtigen, welche lediglich vom Klang her mit dem Gesuchten übereinstimmen. So kann dem nach Meyer suchenden Nutzer auch Treffer für Maier und Meier angezeigt werden.
Ein solches Vorgehen stützt sich dabei auf Verfahren, die Begriffe in eine klangliche (phonetische) Repräsentation umwandeln. Ähnlich wie bei einem Hash-Algorithmus werden dabei Zeichenketten auf einen oder mehrere Schlüssel abgebildet, welche wiederum aus Ziffern, Buchstaben oder beidem bestehen. Die Schlüssel können eine feste oder variable Länge besitzen und codieren die klangliche Eigenschaften des zugehörenden Wortes. Bei der Erzeugung von Schlüsseln werden Mehrdeutigkeiten bei der Schreibweise auf eine bestimmte Klangfolge abgebildet, oder ihnen wird durch mehrere Schlüssel Rechnung getragen. Zum Zeitpunkt der Indizierung werden diese Schlüssel dem zu indizierenden Dokument beigefügt, zwecks geringerer Gewichtung bei der Trefferermittlung vorzugsweise in einem separaten Indexfeld. Analog dazu werden bei der Suche entsprechende optionale Klauseln für die erzeugten Schlüssel ergänzt.
Da eine solche Abbildung auf eine klangliche Repräsentation stets sprachspezifisch ist, sind die in Solr zur Verfügung stehenden Standard-Algorithmen wie Soundex oder Metaphone für englischsprachige Inhalte sowie die Kölner Phonetik für deutschsprachige Inhalte.
Ein Beispiel für die Einbindung einer phonetischen Suche wird in der Standardlösung für eine Suche nach Namen von Rednern durchgeführt: Konfiguration der phonetischen Suche
Facettierte Suche
Um die Navigation auf der Suchergebnisseite zu erleichtern, können die Suchergebnisse in Kategorien den sogenannten Facetten zusammengefasst und auf der Ergebnisseite zusätzlich zu den Suchergebnissen dargestellt weden. Durch Auswahl einer oder mehrerer Kategorien kann der Nutzer schnell und einfach eine Filterung der angezeigten Ergebnisse auf die zu der ausgewählten Menge gehörenden Treffer erfolgen.
Eine entsprechend konfigurierte Suche wird auch als Facettensuche bezeichnet. In der Regel sind die Kategorien dabei fest vorgegeben, allerdings können sie auch anhand der Suchanfrage dynamisch erzeugt werden. Leere Kategorien werden meist ausgeblendet, da sie keinen Nutzen für den Suchenden bieten.
Die Facettensuche ist eines der zentralen Funktionalitäten von Solr und kann flexibel konfiguriert weden. Die Kategorisierung der Suchergebnisse lässt sich über eine Vielzahl von Parametern steuern und kann sowohl anhand von Werten in einem Indexfeld erfolgen, als auch durch eigens festgelegte Wertebereiche.
Exemplarisch wurde dies in der Standardlösung für die Suche nach Terminen konfiguriert. Dabei wurden Facetten über den Ort und das Startdatum der jeweiligen Termine gebildet: Konfiguration einer facettierten Suche
Synonymsuche
Häufig möchte man bei der Suche auch die Ergebnisse erhalten, die lediglich ein vom Sinn her ähnlichen Begriff enthalten. Die Berücksichtigung dieser als Synonyme bezeichneten Wörter kann sowohl bei der Indizierung als auch bei der Bearbeitung von Suchanfragen erfolgen. Zum Zeitpunkt der Indexerzeugung geschieht dies, indem die zu indizierenden Inhalte um die Synonyme der enthaltenen Begriffe ergänzt werden, häufig in einem zusätzlichen Indexfeld. Gleiches geschieht mit der Suchanfrage, wobei darauf zu achten ist, die Synonyme als optionale Bestandteile der Suche zu ergänzen.
Beide Arten der Synonymbehandlung werden von Solr unterstützt, indem eine Abbildung von einem Begriff zu seinen Synonymen in Form einer Textdatei bereitgestellt wird. Diese enthält pro Zeile einem Begriff und die ihm zugeordneten Synonyme. Aufgrund der unterschiedlichen Zeitpunkte, zu denen die Anreicherung um sinnverwandte Begriffe stattfinden kann, sind gewisse Einschränkungen abzuwägen. Erfolgt sie während der Indizierung, so würden Änderungen an der genannten Textdatei erst bei einer Neuindizierung berücksichtigt. Außerdem ist der erzeugte Index größer als ohne diese zusätzlichen Begriffe. Umgekehrt hat eine Berücksichtigung der Synonyme zum Zeitpunkt der Suche augrund gewisser Einschränkungen von Solr zur Folge, dass mehrteilige Begriffe nicht auf diesem Wege behandelt werden können, zum Beispiel können bei der Suche die Begriffe „rss feed“ nicht durch „newsfeed“ ersetzt werden. Außerdem funktioniert die Anreicherung nicht mit Präfix-Suchen, Suchen mit Auslassungszeichen und unscharfen Suchen.
Die oben beschriebene Methode lässt sich auch zum Ersetzen von Begriffen verwenden, etwa um die Abkürzungen „BVA“ als „Bundesverwaltungsamt“ zu indizieren oder verschiedene Schreibweisen eines Begriffs zu vereinheitlichen, zum Beispiel „Email“ zu „E-Mail“. Hierdurch kann die Größe des Indexes verringert werden, was wiederum die Suche beschleunigt. Zu beachten gilt, dass dies sowohl bei der Indexerstellung als auch bei der Suche passieren sollte und die oben genannten Einschränkungen nach wie vor gelten.
Die relevante Konfiguration zur Aktivierung einer Synonymsuche wird hier beschrieben: Konfiguration der Synonymsuche
Wortstammreduktion
Bei der Wortstammreduktion wird versucht mehrere Begriffe auf ein Grundwort, auch als Wortstamm bezeichnet, zurückzuführen. Dies erfolgt algorithmisch und die erzeugten Wortstämme, die durch das Entfernen von Suffixen gebildet werden, sind meist rein technischer Art und keine linguistisch motivierten Einheiten. So verwandelt der in Solr verwendete Standard-Mechanismus die Begriffe „läufer“ und „laufen“ zu „lauf“, aber auch „parken“ zu „park“ und „papier“ zu „papi“. Dies kann zu falschen Suchergebnissen führen und es muss im Einzelfall geprüft werden, ob die Verwendung der Wortstammreduktion sinnvoll ist.