Datenaufbereitung und Mapping
Für die Verarbeitung der Daten wird die Software Alma2Elastic verwendet. Alma2Elastic harvestet eine OAI-PMH Schnittstelle, die Daten in MARCXML ausliefert, und erstellt aus jedem MARC-Record ein Indexdokument. Zusätzlich können externe Services in den Workflow eingebunden werden, die eine Anreicherung der Daten vornehmen.
Bibliographische Daten
Im Indexdokument sind die bibliographischen Daten inkl. vom Bibliothekssystem expandierten Bestandsdaten (Exemplare, Holdings, etc.) in drei verschiedenen Formen enthalten:
MODSlike as JSON
Mapping des MARC-Records mit Anreicherungen aus externen Quellen (GND, etc.) in ein auf MODS basierendes Schema
Felder: mapping.*
Nutzung:
Suche und Anzeige von Daten über externe Oberflächen
Datenanalyse in Kibana mittels Queries und Visualisierungen
CSV-Exporte
Mapping und Anreicherung
Das Mapping und der Aufruf von Services für die Datenanreicherung sind in Google Sheets hinterlegt.
Mapping: https://docs.google.com/spreadsheets/d/1fhyHnopyDxIqoWUtT1VT-bHDMkyXBYNNihyx3YRuJ04
Mapping Normdaten-Felder und Anreicherung mit GND: https://docs.google.com/spreadsheets/d/1bhZzFFNpmCNS0SjKnV5zORBN03-PxobfJ4ppuKTcEoI
Für die Verarbeitung aller Felder, die Verknüpfungen zu Agenten, Orten oder Themen (1xx/7xx/6xx, jeweils x00, x10, x11, x30, x50, x51) enthalten, wird der GND-Service aufgerufen. Dieser nimmt das Mapping der Felder und die Anreicherung mit ausgewählten Daten aus der GND vor. Für Details siehe GND-Sercive: Mapping and enrichment. Für ein Beispiel siehe Beispiel Person.
Eine erweiterte Aufbereitung der Daten wird für Datumswerte, Holdings/Items und Sprachcodes vorgenommen. Für Details siehe die internen Funktionen Date Values, Holdings und Languages von Alma2Elastic.
Indexierung und Nutzung
mapping.* sind in der Regel mit type keyword indexiert. Agenten, Orte und Themen sind mit type nested indexiert. Damit ausgewählte Inhalte aus diesen Feldern trotzdem in Kibana für Visualisierungen zur Verfügung stehen, werden sie kopiert und sind unter copyfields.*
auffindbar.
MARC as JSON
Vollständiger MARC-Record in JSON
Felder: datafield.*
, controlfield.*
und LDR.*
Nutzung:
Detaillierte Datenanalyse mittels Querys in Discover
Visualisierungen mittels Filters
LDR und controlfield für CSV-Exporte
Indexierung und Nutzung
datafield.* sind mit type nested indexiert.
Ein datafield enthält immer die Felder tag, ind1, ind2, subfield und subfield.keyword. subfield und subfield.keyword enthalten die Daten in der Struktur "|Unterfeldcode Unterfeldinhalt", z.B. |a Metallindustrie. Abgesehen von subfield sind alle Felder mit type keyword indexiert. subfield ist mit type text indexiert.
In einem keyword field ist der ganze Inhalt als ein String indexiert, d.h. man muss den ganzen Inhalt eingeben oder trunkieren. Hier wird keine Normalisierung vorgenommen, d.h. Gross- und Kleinbuchstaben, etc. sind relevant. * In einem text field ist der String auf Whitespace und weiter Zeichen gesplittet indexiert und wird normalisiert. In diesen Feldern kann man suchen, wie man es sich über einen Suchschlitz gewohnt ist, inkl. Boolsche Operatoren und Anführungszeichen für die Phrasensuche.
Beispiel für ein Feld mit mehreren Unterfeldern:
{
"tag": "650",
"ind1": " ",
"ind2": "7",
"subfield": [
"|a Metallindustrie",
"|0 (DE-STW)13034-4",
"|2 stw"
]
}
Zur Nutzung der datafield.* für Abfragen, siehe Queries in Kibana.
MARC lines as JSON
Korrekte MARC-Felder als String pro Feld
Felder: fieldlists.*
Nutzung: Für CSV-Exporte
Indexierung und Nutzung
Unter fieldlists gibt es pro MARC-Feld ein Feld, das die Inhalte aller in der Aufnahme vorkommenden Felder als Strings enthält. Der String beginnt mit den Indikatoren wobei blank durch # ersetzt wird. Die Unterfelder werden mit $$ eingeleitet. Am Ende eines Felds steht immer ein senkrechter Strich (pipe).
fieldlists.* sind nicht indexiert und können deshalb weder für die Suche noch für die Visualisierung von Daten genutzt werden. Sie stehen für die Anzeige im Bereich Discovery und für den CSV-Export zur Verfügung.
Beispiel für ein Feld, das in der Aufnahme mehrfach vorkommt:
"700": [
"1#$$aHalířová, Martina$$d1979-$$0(DE-588)1029723567$$eVerfasser$$4aut|",
"1#$$aJiránek, Tomáš$$d1965-$$0(DE-588)141624205$$eVerfasser$$4aut|"
]
Weitere Daten
Das Indexdokument enthält weitere Daten für darauf aufbauende Services.
Search-Felder
Für die Suche über eine externe Oberfläche
Felder: search.*
Die Felder sind mit type text mit type keyword indexiert.
Flags
Für die Bildung von Datensets
Das Setzen von Werten für “flags” ist Teil des Mappings. Siehe Tabellenblatt “flags” für die aktuell zur Verfügung stehenden Werte und deren Definition.
Facets
Für Facetten auf Suchoberflächen (in Entwicklung)
Access Control List (ACL)
Für die Zugriffssteuerung (in Entwicklung)