SOLR -

Unser Suchindex

Letztes Mal haben wir die Daten von Albert Einstein aus der Swissbib SRU-Schnittstelle ins Open Refine importiert und dort überarbeitet. Dieses Mal installieren wir uns einen Suchindex über welchen unsere Suchanfragen laufen werden. Dazu verwenden wir den Open Source Index SOLR, der als Open Source Programm frei verfügbar ist und bei dem daher jeder, der ihn verwendet zu seiner Verbesserung beitragen kann, wenn er will. Es gibt auch noch andere frei verfügbare Suchindexe, beispielsweise elastic, aber SOLR ist am weitesten verbreitet und wird zB. von DuckDuckgo verwendet.

 

Zuerst haben wir den Suchindex SOLR heruntergeladen und installiert. In den Beispieldaten von SOLR waren schon Facetten mit dabei zum Ausprobieren oder ein Ranking nach Preis (Boosting). Diese Beispieldaten mit den integrierten Funktionen in SOLR installierte man mit dem 3. Befehl aus dem Skript

 

Bei unserer eigenen späteren Konfiguration von SOLR waren Facetten und Boosting nicht automatisch voreingestellt. Diese können bei SOLR in der Administrationsoberfläche eingestellt werden. Diese Administrationsoberfläche lernten wir mit einem Tutorial von SOLR kennen.

 

Zwischenzeitlich strukturierten wir die MARC Daten ab Aufgabe 2 im Skript fertig.

 

Bei SOLR kam beim Einspielen der Daten eine Fehlermeldung. Und zwar weil in den Datensätzen viermal anstatt des Datums als Zahl «uuuu» verwendet wurde. Dies wurde von SOLR als Formatexception erkannt, weil SOLR Felder automatisch indexiert und diese Felder einteilt in Zahlenformate und Textformate. Das Lösen dieses Problems könnte man auf zwei Arten angehen. Man könnte in den Datensätzen die Daten bereinigen, oder man kann im Suchindex dieses Feld anderes einstellen. Weil man in der Praxis oft mehr als vier Fehlerhafte Datensätze hat, haben wir dies in SOLR angepasst. Diesen Schritt und die weiteren findet man im Skript unter Konfiguration des Schemas.

 

Dazu veränderten wir in der Administratorenoberfläche unter Schema das date field, welches das dem Datum zugeordnete Feld ist. Wir löschten den type welcher vorher von SOLR automatisch erkannt wurde und fügten ein neues Feld (add field) ein. Das war etwas mühsam, da string als Text mit uuuu anscheinend nicht funktionierte, aber mit etwas ausprobieren kamen wir darauf, das SOLR uuuu als Text general akzeptiert.

 

Dann gingen wir weg von der Administrationsumgebung hin zur Suchoberfläche. Beim Laden der Datensätze von Einstein variierte die Ladezeit bei mir und war anders als bei Felix Lohmeier und meiner Kollegin neben mir. Das heisst zuerst lädt sich SOLR mit den verfügbaren Rechnerressourcen, ist also je nachdem nicht gleich schnell, wobei es trotzdem ein schneller Suchindex ist.

 

Wir suchten in der Suchoberfläche nach Einstein. Es kam dazu aber kein Resultat. Dies weil wir die übergreifende Suche zuerst aktivieren mussten. Solange man das nicht macht, sucht SOLR nur in den einzelnen Feldern und man müsste zB. Title:einstein eingeben um zu einem Resultat zu kommen. Die übergreifende Suche aktivierten wir über catchcall / copy field. Danach war die Suche mit «einstein» möglich.

 

 

Kommentar schreiben

Kommentare: 0