
ZDB Index
Anforderungen
- Suche über den Erscheinungsort
- Suche über den Titel der Zeitung
- Sortierung nach Titel
- Sortierung nach Erscheinungsort
Datenquelle
Der ZDB Index wird mit Hilfe der Newspaper Spark App aus dem ZDB Dump aufgebaut.
Schema
https://dev.fiz-karlsruhe.de/stash/projects/DDB/repos/spark-newspaper-app/browse/src/main/resources/solr/newspaper/conf/schema.xml?at=refs%2Fheads%2Fmaster
Besonderheiten
...
Zeitungsausgabenindex
Anforderungen
Der Zeitungsausgabenindex bedient die folgenden Use cases:
- Die Suche nach Zeitungsausgaben: Anhand der Nutzereingabe werden Zeitungsausgaben gesucht und in einer Liste dargestellt. Die Suchergebnisliste enthält den Titel der Zeitung, das Datum und ein Vorschaubild der Ausgabe sowie ein Textsnippet mit dem gefundenen Suchbegriff. Desweiteren wird die Anzahl der Treffer in der Ausgabe angezeigt. Die Suchergebnisse müssen sich mit Hilfe von Facettenwerte weiter einschränken lassen.
- Die Suche über den Erscheinungstermin (Facetten für Jahr und Datum)
- Die Suche innerhalb einer Ausgabe: Anhand der Nutzereingabe wird innerhalb einer Zeitungsausgabe gesucht. Die Trefferliste enthält neben einer Referenz auf die Seite Textsnippets mit den gefundenen Suchbegriffen und Informationen wo auf der gescannten Seite der Suchbegriff zu finden ist.
Datenquelle
Die primäre Datenquelle für diesen Index ist die in Cassandra gespeicherte Outbox, also das Transformationsergebnis. Dieses wird von der Newspaper-Spark-App eingelesen, aufbereitet, mit Daten aus dem ZDB Index ergänzt und in den Index geschrieben.
Schema
Dieser Index arbeitet mit Nested Documents um sowohl die Zeitungsausgaben als auch die Einzelseiten der Ausgaben zu speichern. Die Menge der im Schema definierten Felder enthält also die für die Ausgaben so wie auch die für die Einzelseiten.
https://dev.fiz-karlsruhe.de/stash/projects/DDB/repos/spark-newspaper-app/browse/src/main/resources/solr/newspaper-issues/conf/schema.xml?at=refs%2Fheads%2Fmaster
Besonderheiten
Dieser Index benutzt das SOLR-OCR-Plugin des MDZ um die Volltexte und inkl. der Wortpositionen aus den gelieferten ALTO Dateien zu indexieren.
Beispiel-Queries zum Bedienen der Anforderungen aus dem Klickdummy
https://xd.adobe.com/view/e385a318-37bf-4ea7-56d8-2774adbf7d11-95b4/
- Startseite DZ:
- Chart im dunkelgrauen Kasten:

(1a) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?q=type:issue&facet.field=publication_year&facet=on&rows=0 - Heute vor hundert Jahren:
Random Zeitungsausgabe mit Datum festgelegtem Datum:
(1b) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?q=publication_date:NOW-100YEARS/DAY%20AND%20type:issue&sort=random_1234%20desc&fl=id,publication_date,thumbnail,paper_title&rows=1 
wobei 1234 durch einen beliebigen zufälligen Seed zu ersetzen ist (evtl. aktueller Timestamp).sollte oben kein Ergebnis zurückkommen, dann folgende Query benutzen:
(1c) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?q=publication_date:[NOW-100YEARS/DAY%20TO%20*]%20AND%20type:issue&fl=id,publication_date,thumbnail,paper_title&sort=sort.publication_date%20ASC&rows=1 
für die vorheriger/nächster Tag Buttons: aus dem Ergebnis oben das Datum extrahieren und folgende Queries verwenden:
vorheriger: (1d) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?q=publication_date:[*%20TO%201921-12-02T12:00:00Z/DAY]%20AND%20type:issue&fl=id,publication_date,thumbnail,paper_title&sort=sort.publication_date%20DESC&rows=1 
nächster: (1e) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?q=publication_date:[1921-12-02T12:00:00Z%2B1DAY/DAY%20TO%20*]%20AND%20type:issue&fl=id,publication_date,thumbnail,paper_title&sort=sort.publication_date%20ASC&rows=1 
- Liste von zufälligen Zeitungsausgaben, eine Ausgabe pro Tag im Zeitraum von -10 bis +10 Tagen im das heutige Datum vor 100 Jahren:
http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?q=publication_date:[NOW-100YEARS-10DAYS/DAY%20TO%20NOW-100YEARS%2B10DAYS/DAY]&group=true&group.func=ms(sort.publication_date)&group.ngroups=true&fl=id,publication_date,thumbnail,paper_title&group.main=true&sort=sort.publication_date%20asc&rows=20&group.sort=random_1234%20DESC
wobei 1234 durch einen beliebigen zufälligen Seed zu ersetzen ist (evtl. aktueller Timestamp). 
- Suchergebnisseite
Suchergebnisse: http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&hl=on&fl=id,paper_title,publication_date,thumbnail,[child%20limit=1]&hl.fl=issuefulltext&hl.snippets=1000&hl.maxAnalyzedChars=10000000&hl.simple.pre=<b>&hl.simple.post=</b> 
- das Vorhandensein von "_childDocuments_" sagt ob die Ausgabe Volltexte hat. 
- An Anzahl der Snippets gibt die Anzahl der Treffer in der Ausgabe. Anzuzeigen ist nur das erste Snippet, sofern vorhanden. 
- Sortierung der Ergebnisse: 
Älteste/Neueste: &sort=sort.publication_date asc/descA-Z: &sort=paper_title asc/descRelevanz: ohne sort Parameter
- Suchergebnisse: (2a) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Hamburg&group=true&group.field=issue_id&group.ngroups=true&group.limit=10&hl=true&hl.fl=plainpagefulltext&hl.snippets=100&hl.maxAnalyzedChars=10000000&hl.simple.pre=<b>&hl.simple.post=</b>&fl=id,pagenumber,paper_title,publication_date,thumbnail,[child%20limit=1]

- Anzahl der gefundenen Ausgaben: "grouped" → "issue_id" → "ngroups"
- Titel der gefundenen Ausgabe: "grouped" → "issue_id" → "groups" → "doclist" → [0] → "paper_title"
- Publikationsdatum: "grouped" → "issue_id" → "groups" → "doclist" → [0] → "publication_date"
- Thumbnail der gefundenen Ausgabe: "grouped" → "issue_id" → "groups" → "doclist" → [0] → "thumbnail"
- ID der gefundenen Ausgabe (für die Verlinkung): "grouped" → "issue_id" → "groups" → "groupValue"
- Liste der Seiten auf denen Treffer gefunden wurden (für das Treffer Popup): "grouped" → "issue_id" → "groups" → "doclist" (nur Einträge mit vorhandener Pagenumber)
- Seitenzahl (für das Trefferpopup): "grouped" → "issue_id" → "groups" → "doclist" → [] → "pagenumber"
- Seitenreferenz: "grouped" → "issue_id" → "groups" → "doclist" → [] → "id"
- Snippet auf der Suchergebnisseite: "highlighting" → Seitenreferenz → "plainpagefulltext" → [0]
- Anzahl der Treffer in einer Ausgabe: Aufsummieren der Snippets pro gefundener Seite
- Snippets für das Trefferpopup: "highlighting" → Seitenreferenz → "plainpagefulltext"
- Zeitraum - Werte für das Diagramm und Anfangs-/Endjahr des Diagrams:

(2b) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&rows=0&facet=on&facet.field=publication_year - Zeitraum - Werte für die Anfangsdatum-Dropdowns

(2c) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&fl=publication_date&sort=sort.publication_date%20asc&rows=1 - Zeitraum - Werte für die Enddatum-Dropdowns

(2d) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&fl=publication_date&sort=sort.publication_date%20desc&rows=1 - Zeitung - Listeneinträge:

(2e) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&rows=0&facet=on&facet.field=paper_title_fct&facet.mincount=1&group=true&group.field=issue_id&group.facet=true - Verbreitungsort - Listeneinträge:

(2f.1) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&rows=0&facet=on&facet.field=place_of_distribution&facet.mincount=1&group=true&group.field=issue_id&group.facet=true
Verbreitungsort - Listeneinträge gefiltert:
(2f.2) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&rows=0&facet=on&facet.field=place_of_distribution&facet.mincount=1&group=true&group.field=issue_id&group.facet=true&fq=place_of_distribution:"Wil"&facet.contains=Wil&facet.contains.ignoreCase=true - Datengeber - Listeneinträge:

(2g) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&rows=0&facet=on&facet.field=provider&facet.mincount=1&group=true&group.field=issue_id&group.facet=true - Sprache - Listeneinträge:

(2h) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&rows=0&facet=on&facet.field=language&facet.mincount=1 (Ergebnisse sind ISO-639-2 Codes)
Anmerkung: Sollen nur die 4 am häufigsten vorkommenden Facettenwerte angezeigt werden, lässt sich die Anzahl der zurückgegebenen Werte mit &facet.limit=4 beschränken.
Einschränkung auf Facetten: Die oben genannten Queries können erweitert werden um die Ergebnisse auf eine ober mehrere gewählte Facetten einzuschränken. Dies geschieht durch die Angabe einer oder mehrer Filter-Queries (fq)
Beispiele:
Sprache deutsch gewählt: &fq=language:ger
http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&fq=language:ger
Sprachen englisch und Verbreitungsort Dresden: &fq=language:eng&fq=place_of_distribution:Dresden
http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&fq=language:eng&fq=place_of_distribution:Dresden
Einschränkung auf die Zeitung: &fq=paper_title_fct:" Leipziger jüdische Wochenschau"
http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&fq=paper_title_fct:" Leipziger jüdische Wochenschau"
Beim Klick auf "x Treffer in dieser Ausgabe" auf der Suchergebnisseite muss ein weiterer Request gemacht werden um die anzuzeigenden Treffer zu holen:
http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?hl.ocr.fl=pagefulltext&hl=true&hl.snippets=1000&fl=id,pagename,_nest_path_&q=pagefulltext:Hamburg%20AND%20id:KOUQGPUBBETUUKSQ2WMG7B4X2QM6FY2R*&hl.ocr.contextBlock=line&hl.ocr.contextSize=4&sort=pagename%20ASC
Anmerkungen:
- Im Request muss ein * an die Id der Ausgabe gehängt werden.
- "response"→"docs" enthält eine Liste der Seiten auf denen Treffer gefunden wurden. Die anzuzeigenden Seitenzahl steckt in "_nest_path_", ist aber 0-basiert, muss zur Anzeige also um 1 erhöht werden.
- Die anzuzeigenden Textsnippets pro Seite sind zu finden unter "ocrHighlighting" → Seiten-ID → "pagefulltext" → "snippets" → "text"
- Suche nach Erscheinungstermin:

(4a) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?facet.field=publication_year&facet=on&facet.limit=500&q=*%3A*&rows=0
- Jahreskalender:

(5a) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?q=publication_year:1929&facet.range=publication_date&facet=true&facet.range.start=1929-01-01T00:00:00Z/DAY&facet.range.end=1930-01-01T00:00:00Z/DAY&facet.range.gap=%2B1DAY&rows=0
- Treffer nach Datum:
- Ergebnisliste: (6a) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?q=publication_date:1929-01-10%20AND%20type:issue&fl=*,[child%20limit=1]

- Zeitungsseite - Gesamtansicht
- graue Box:

(7a) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper/select?q=id:2803990-7%20AND%20hasLoadedIssues:true - Verfügbare Ausgaben:
(7b) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?facet.field=publication_year&facet=on&facet.limit=-1&q=zdb_id:2803990-7%20AND%20type:issue&rows=0 
- Vorgeschlagene Ausgaben dieser Zeitung: Randomisierte Ausgaben der gegebenen Zeitung:
(7c) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?q=zdb_id:2803990-7%20AND%20type:issue&sort=random_1234%20desc 
wobei 1234 durch einen beliebigen zufälligen Seed zu ersetzen ist (evtl. aktueller Timestamp).
- Suche nach Ort
- Buchstabenleiste:

(9a) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper/select?q=+hasLoadedIssues:true&facet=on&facet.field=glossary.location&rows=0&facet.sort=index 
- Liste der Orte:
(9b) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper/select?q=+hasLoadedIssues:true%20+location:d*&facet.sort=index&rows=0&facet.mincount=1&facet=on&facet.field=location_fct&facet.matches=[dD].* 
http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper/select?q=+hasLoadedIssues:true%20+location:d*&facet.prefix=d&facet=on&facet.field=location&facet.sort=index&rows=0&facet.mincount=1 - Suchergebnisse:
(9c) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper/select?q=+glossary.location:D%20+hasLoadedIssues:true 
http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper/select?q=+location:D*%20+hasLoadedIssues:true
- Alle Zeitungen Popup (für Titel):
- Liste aller Titel bei gegebener Suche: (Nach Öffnen des Popups, ohne weitere Eingabe)
(10a) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&rows=0&facet=on&facet.field=paper_title_fct&facet.mincount=1&facet.sort=index 
- Suche innerhalb der Titelfacette: (Nach Eingabe in das Zeitungstitel-Suchfeld)
(10b) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&fq=paper_title_fct_autocomplete:"Dresden"&rows=0&facet=on&facet.field=paper_title_fct&facet.mincount=1&facet.sort=index 
- Alle Zeitungen Popup (für Orte):
- Liste aller Orte bei gegebener Suche: (Nach Öffnen des Popups, ohne weitere Eingabe)
(11a) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&rows=0&facet=on&facet.field=place_of_distribution&facet.mincount=1&facet.sort=index 
- Suche innerhalb der Ortsfacette: (Nach Eingabe in das Suchfeld)
(11b) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&fq=place_of_distribution_autocomplete:"Dres"&rows=0&facet=on&facet.field=place_of_distribution&facet.mincount=1&facet.sort=index 
- Alle Zeitungen Popup (für Provider):
- Liste aller Provider bei gegebener Suche: (Nach Öffnen des Popups, ohne weitere Eingabe)
(12a) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&rows=0&facet=on&facet.field=provider&facet.mincount=1&facet.sort=index 
- Suche innerhalb der Providerfacette: (Nach Eingabe im Suchfeld)
(12b) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/newspaper-search?q=Stadt&fq=provider_autocomplete:"Dresden"&rows=0&facet=on&facet.field=provider&facet.mincount=1&facet.sort=index 
- Suche nach Titel
- Buchstabenleiste: (13b) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper/select?q=+hasLoadedIssues:true&facet=on&facet.field=glossary.title&rows=0&facet.sort=index

- Suchergebnisse: (13b) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper/select?q=+hasLoadedIssues:true%20+sort.title:A*&sort=sort.title%20asc
- Objektseite (DFG Viewer)
- Vorherige/Nächste Ausgabe:
Vorherige: (14a) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?q=zdb_id:2846529-5%20AND%20publication_date:[*%20TO%201921-05-27T00:00:00Z]%20AND%20type:issue&fl=id,publication_date&sort=sort.publication_date%20DESC&rows=1 
Nächste: (14b) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?q=zdb_id:2846529-5%20AND%20publication_date:[1921-05-27T23:59:59Z%20TO%20*]%20AND%20type:issue&fl=id,publication_date&sort=sort.publication_date%20ASC&rows=1 
- Volltext Suche innerhalb einer Ausgabe: (14c) http://ddb-di-vm05.fiz-karlsruhe.de:8183/solr/newspaper-issues/select?hl.ocr.fl=pagefulltext&hl=true&fl=id,pagename&q=+issue_id:4175160268881036%20+pagefulltext:%22Fernsprecher%22
Beispiel-Queries zum Bedienen der Anforderungen des Ingest-Prozesses