Skip to main content
Skip table of contents

SOLR-Reports

In diesem Artikel wird beschrieben, wie SOLR-Berichte im Allgemeinen eingerichtet werden und wie eventuelle Probleme, die in diesem Zusammenhang auftreten können, gelöst werden können.

Einleitung

Auf Kundensystemen mit großen Datenbeständen benötigen komplexe Suchvorgänge wie die Katalogsuche oder Berichte wie z. B. Kursfortschrittsberichte viele Systemressourcen bzw. benötigen längere Ladezeiten. Um die Leistung zu verbessern, war es notwendig, die Daten redundant in einer Struktur zu speichern, die für die spezifische Suche besser geeignet ist.

Wir haben uns für die SOLR-Technologie entschieden, weil sie Konzepte der Internetsuche nutzt, die zu noch schnelleren Antwortzeiten führen als die redundante Speicherung der Daten in einem besser geeigneten Schema nur in der Datenbank.

SOLR-Indizes

Zum jetzigen Zeitpunkt haben wir 9 SOLR-Indizes, drei für normale Suchvorgänge und sechs für Berichte. Da sich die Daten in der Datenbank ständig ändern, müssen die SOLR-Indizes regelmäßig aktualisiert werden. Such-Indizes: catalogindex, personindex, mediaindex
Report-Indizes: courseattendanceindex, courselearninghistoryindex, courseprogressindex, coursescostatusindex, feedbackquestionsindex, testquestionsindex

Die Such-Indizes sind relativ klein und ein kompletter Neuaufbau dauert nur ein paar Minuten. Die Report-Indizes sind oft ziemlich groß und eine vollständige Erstellung kann mehrere Stunden dauern. Die Aktualisierung der Such-Indizes erfolgt daher immer auf dem technisch einfachen Weg eines kompletten Neubaus. Die Aktualisierung der Report-Indizes erfolgt dadurch, dass nur die betreffenden Änderungen auf den SOLR-Reportindex übertragen werden, was ebenfalls nur ein paar Minuten dauert.

SOLR-Manager

Die beiden Such-Indizes catalogindex und personindex sind standardmäßig für alle Kunden aktiv. Die anderen Indizes (mediaindex und die Report-Indizes) werden von den meisten Kunden nicht genutzt. Um den Datenbankserver nicht unnötig zu belasten, sollten nur die verwendeten SOLR-Indizes erstellt und aktualisiert werden.

Deshalb gibt es den SOLR-Navigationspunkt SOLR Indizes zum Aktivieren und Deaktivieren von SOLR-Indizes. Standardmäßig sind nur catalogindex und personindex aktiv. Nur aktive Indizes werden erstellt oder aktualisiert, wenn der entsprechende SOLR-Job ausgeführt wird. Der SOLR Manager (Navigationspunkt SOLR Indizes) ist standardmäßig nicht verfügbar und muss zunächst konfiguriert werden.

SOLR-Jobs

Such-Indizes: CreateSolrIndex, CheckSolrAvailability
CreateSolrIndex: Führt einen kompletten Neuaufbau der aktivierten Such-Indizes durch. In den meisten Fällen wird er so konfiguriert, dass er jede halbe Stunde oder Stunde ausgeführt wird.
CheckSolrAvailability: Dieser Job, der in Abständen von fünf Minuten ausgeführt werden soll, wurde erstellt, um einen schnellen Neuaufbau von möglicherweise verloren gegangenen Such-Indizes während eines Deployments zu gewährleisten.

Report-Indizes: SolrIndexFullBuild, SolrIndexActualization
SolrIndexFullBuild: Führt einen vollständigen Neuaufbau für alle aktiven Report-Indizes durch, die derzeit nicht verfügbar sind, d. h. die noch nie aufgebaut wurden oder für die ein neuer vollständiger Aufbau über die SOLR-Navigation wie oben beschrieben initiiert wurde. Es gibt einige technische Unterschiede zu Such-Indizes und Probleme mit dem Quartz Scheduler, die einen separaten Job erfordern. Es ist besonders wichtig, das Zeitintervall so groß zu konfigurieren, dass der Auftrag abgeschlossen ist, bevor er erneut ausgeführt wird. Er sollte also so konfiguriert werden, dass er nur einmal am Tag ausgeführt wird.
SolrIndexActualization: Er aktualisiert aktive Report-Indizes, die aktuell verfügbar sind, d.h. für die bereits ein vollständiger Aufbau erfolgreich abgeschlossen wurde und für die in der Zwischenzeit kein neuer vollständiger Aufbau initiiert wurde. Der Job überträgt die Änderungen, die seit dem letzten Lauf des Aktualisierungsjobs oder dem Beginn der letzten vollständigen Erstellung vorgenommen wurden, wenn er zum ersten Mal nach einer vollständigen Erstellung ausgeführt wird. Er sollte so konfiguriert werden, dass er automatisch alle 15 Minuten ausgeführt wird, um die Indexdaten auf dem neuesten Stand zu halten und die Aktualisierungslaufzeiten kurz zu halten.

Die Ersteinrichtung von Report-Indizes und die Konfiguration von SOLR-Berichten und Cronjobs muss von imc vorgenommen werden. Wenn Sie Fragen zu oder Interesse an der Verwendung von SOLR-Berichten haben oder längere Ladezeiten bei einem der oben genannten Standardberichte feststellen, erstellen Sie bitte ein Request-Ticket in unserem Service Desk und wir werden uns mit Ihnen in Verbindung setzen.

Troubleshooting für Kunden, die SOLR Reports verwenden

Fehler: Der SOLR-Index ist aktuell nicht verfügbar. Versuchen sie es zu einem späteren Zeitpunkt nochmal.

Troubleshooting-Schritte:
Bei SOLR-Indizes ist es am besten, die Support-Informationen aufzurufen und die Log-Dateien (1) herunterzuladen (2), um das Problem zu lösen.

herunterladen_der_log_files_in_support_informationen.png

Anschließend müssen Sie prüfen, ob bei den geplanten Jobs Fehler aufgetreten sind.
Suchen Sie in den Log-Dateien nach de.imc.clix.core.solr.SolrIndexFullBuildJob.
Vielleicht fallen Ihnen ein paar Dinge auf:
- Der Job läuft entweder noch ODER
- der Job zeigt nach dem Start eine Fehlermeldung an.

In jedem Fall sollten Sie ein Incident-Ticket in unserem Service Desk erstellen und uns alle Informationen und Protokolle zur Verfügung stellen, damit wir bei Bedarf eine weitere Fehlersuche mit unserem DEV- und Hosting-Team durchführen können.

Fehler: Daten sind nicht aktuell - d.h. die Daten (z.B. Buchungsstatus oder persönliches Enddatum) im SOLR-Report stimmen nicht mit den Nutzerdaten in der Teilnehmerverwaltung eines Kurses überein.

Troubleshooting-Schritte:
- Rufen Sie die Support-Informationen auf und laden Sie die Log-Dateien runter
- Prüfen Sie, ob der Job (de.imc.clix.core.solr.SolrIndexActualizationJob) erfolgreich ausgeführt wurde oder ob er Fehler verursacht hat.

In jedem Fall sollten Sie ein Incident-Ticket in unserem Service Desk erstellen und uns alle Informationen und Protokolle zur Verfügung stellen, damit wir bei Bedarf eine weitere Fehlersuche mit unserem DEV- und Hosting-Team durchführen können.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.