Scripte und Konfigurationsdateien für den ETL-Workflow des Online-Katalogs des Deutschen Literaturarchivs Marbach https://www.dla-marbach.de/katalog
siehe Dokumentation Internformat
OpenRefine, orcli und Apache Solr:
task install
Das Arbeitsverzeichnis wird über die Variable DIR
gesetzt. Die Quelldateien im TSV-Format müssen in einem Unterverzeichnis input
bereitgestellt werden.
Weitere Variablen:
MEMORY
: Wieviel Arbeitsspeicher OpenRefine verwenden darf. Default:2G
PORT
: Der von OpenRefine zu verwendende Port. Default:3333
Beispiel für Arbeitsverzeichnis data
mit Quelldateien in data/input
, 4 GB Java heap space für OpenRefine und Port 3334
:
task DIR=data MEMORY=4G PORT=3334
Das Verzeichnis data
ist bereits in .gitignore
gelistet.
orcli im interaktiven Modus starten (vgl. http://localhost:3333):
task dev
Indexierung in Solr testen (vgl. http://localhost:8983):
task solr
Konvertierung der JSONL-Daten in YAML:
task yaml
- Solr Schema erweitern
- Beispieldaten ergänzen in example/input
- OpenRefine Transformationsregeln ergänzen in config/main.
- Dazu ggf. orcli im interaktiven Modus starten mit
task dev
- JSON aus OpenRefine-History in YAML konvertieren
- Dazu ggf. orcli im interaktiven Modus starten mit
- Daten generieren
task main yaml
- Ergebnisse prüfen mit git diff
git diff example/output/*.yaml git diff -U0 --word-diff-regex='[^,]+' --word-diff=porcelain example/output/*.jsonl
- Indexierung in Solr testen
task solr
- Bei Änderung an exportDC oder exportMODS Daten validieren
task validate
- Dokumentation in docs/internformat.csv
- Solr Konfiguration: Standardwert für Feldliste (fl) anpassen
tail -n +2 docs/internformat.csv | cut -d , -f 2 | sort | uniq | grep -v 'export' | grep -v 'confidential' | head -c -1 | tr '\n' , | sed 's/,/, /g'
- schemaVersion in scripts/main.sh hochzählen
- Git Commit und Push
- GitHub Release Notes
- Konfiguration des Solr auf Produktivsystem aktualisieren