2022.06 2023.06

Tipps und Problembehebung

Hier sind verschiedene Tipps und Anleitungen zur Problembehebung zu finden, welche sich aus der Migration älterer Systeme oder allgemein im Laufe des Betriebs ergeben können.

Nutzung Content Store IFS 2

Viele ältere Anwendungen nutzen noch den ursprünglichen Content Store IFS1. Dieser hat den Nachteil, dass die Dateinamen der digitalen Objekte nur eine eindeutigen Nummer haben und die Zuordnung zu den originalen Dateinamen nur in der Tabelle MCRFSNODES verankert ist. Der moderne Content Store IFS2 hält die digitalen Objekte in ihrem originalen Namen in den Verzeichnissen der Derivate vor. Somit ist ein besseres Backup und Recovery im Fehlerfalle möglich. Gleichzeitig kann die volle Kontrollfunktionalität wie im Abschnitt Konsistenzprüfung beschrieben genutzt werden.

Folgende Kommandos gestatten eine Migration von einem Content Store zu einem anderen. Damit kann auch die Migration von IFS1 zu IFS2 vorgenommen werden.

move derivates from content store {0} to content store {1} for filetype {2}
Moves all files of derivates from content store {0} (a. e. FS) to content store {1} (a. e. IFS2) for a special file type (a. e. jpeg).
move derivates from content store {0} to content store {1} for owner {2}
Moves all files of derivates from content store {0} (a. e. FS) to content store {1} (a. e. IFS2) for a special derivate owner ID (a. e. Project_derivate_00000001).

Solr-Umstellung im laufenden Betrieb

Möchte man im laufenden Betrieb von einer Solr-Instanz auf eine andere wechseln, kann folgende Schritt für Schritt-Anleitung genutzt werden. Damit lässt sich im Hintergrund der bestehende Content in den neuen Solr Kern indizieren. Nach Abschluss der Indizierung kann die Suche dann komplett umgestellt werden.

Voraussetzung ist, dass der Solr-Server bereits eingerichtet und der Solr-Kern (hier repper_main) angelegt ist (vgl. Dokumentation zur Solr-Nutzung).

  1. Neuen Main-Kern mit neuem Namen registrieren, hier z.B. mainv8
    register solr core with name repper_main on server http://meine-Solr8.11-URL.de:8985 as core mainv8

  2. Zur Verifizierung und um das später ggf. in die mycore.properties zu übertragen kann man sich die aktuelle Konfiguration nochmal auflisten lassen mit dem CLI-Befehl show solr configuration. Die Ausgabe sieht dann ähnlich dieser aus:
    MCR.Solr.ServerURL=http://meine-Solr-URL:8983
    MCR.Solr.Core.mainv8.Name=repper_main
    MCR.Solr.Core.mainv8.ServerURL=http://meine-Solr8.11-URL.de:8985/
    MCR.Solr.Core.main.Name=repper_main
    MCR.Solr.Core.main.ServerURL=http://meine-Solr-URL:8983/
    MCR.Solr.Core.classification.Name=repper_class
    MCR.Solr.Core.classification.ServerURL=http://meine-Solr-URL:8983/
  3. Im nächsten Schritt wird die aktuelle Konfiguration für den Main-Kern in den vorher angelegten Kern geladen:
    reload solr configuration main in core mainv8

  4. Und abschließend Metadaten und Volltext zur Indizierung an den neuen Kern geschickt:
    rebuild solr metadata and content index in core mainv8

  5. Ist die Indexierung erfolgreich durchgelaufen, kann die Anwendung mit der neuen Solr-Konfiguration gestartet werden

Noch ein Hinweis: Während die Indexierung läuft, werden Änderungen durch Neuaufnahme der Daten oder Bearbeitung weiterhin in den main-Kern Indexiert. Diese fehlen daher im neuen Kern mainv8. Um das zu verhindern, kann man die Anwendung entweder in den read-only-Modus versetzen oder nach Umstellung den altern Kern nochmal einbinden und durch eine Suche und Auswahl dagegen die geänderten MyCoRe-Objekte auswählen und nachindexieren. Dazu sind dann folgende Befehle in der CLI nötig:

  1. Alten Main-Kern mit neuem Namen z.B. mainold registrieren:
    register solr core with name repper_main on server http://meine-alteSolr-URL.de:8985 as core mainold

  2. Auswahl aller MyCoRe-Objekte vom Typ mods die zwischen dem 26.06.2023 und dem 29.06.2023 geändert worden, mittels einer Suche auf dem Index des nun alten Kernes:
    select objects with solr query objectType:mods AND created:[2023-06-26T00:00:00.000Z TO 2023-06-29T23:23:59.999Z] OR modified:[2022-12-26T00:00:00.000Z TO 2022-12-29T23:23:59.999Z] in core mainold

  3. Reindexierung dieser Datensätze in den nun aktuell konfigurierten Main-Kern:
    rebuild solr metadata index for selected in core main

  4. Das ganze dann für alle MyCoRe-Objekttypen wiederholen und bei den Derivaten zusätzlich auch den Content indexieren mit:
    rebuild solr content index for selected in core main