Zum Hauptinhalt springen

Föderierte Suche

Überblick

/v2/search/federated durchsucht alle drei Sammlungen des Kulturpools in einer Anfrage — Digitalisate, redaktionelle Seiten und die Wissensdatenbank — und liefert Treffer, die sich mit einer einzigen Darstellung rendern lassen.

Basis-URL​

https://api.kulturpool.at/v2/search/federated

Parameter​

ParameterTypStandardBeschreibung
qstring–Pflicht. Der Suchbegriff
collectionsstringchos,editorial,knowledgeSammlungen, kommagetrennt, in Antwortreihenfolge
per_pageinteger10Treffer je Sammlung (1–250)
filter_bystring–Filterausdruck, auf alle Sammlungen angewandt
facet_bystring–Facetten; standardmäßig aus
max_facet_valuesinteger50Facettenwerte je Facette
curl "https://api.kulturpool.at/v2/search/federated?q=Klimt&per_page=5"

Antwort​

Ein Ergebnis je Sammlung, in der angefragten Reihenfolge:

{
"results": [
{"found": 1529, "hits": [/* chos */]},
{"found": 15, "hits": [/* editorial */]},
{"found": 5, "hits": [/* knowledge */]}
]
}

Jedes Element hat dasselbe Format wie eine Antwort der Suche.

Die gemeinsamen Felder​

Der Sinn der föderierten Suche ist, dass ein Treffer darstellbar ist, ohne zu wissen, welche Sammlung geantwortet hat. Dafür tragen alle drei dieselben Kernfelder:

FeldTypBeschreibung
docTypestringWas für ein Treffer das ist — siehe unten
titlestringÜberschrift
descriptionstring[]Kurztext
urlstringDie Seite, die ein Klick öffnen soll
docLanguagestringSprache des Dokuments
updatedAtint64Zeitpunkt der letzten Änderung
previewImagestringVorschaubild, sofern vorhanden

docType unterscheidet die Trefferarten:

docTypeSammlungWas es ist
chochosEin Digitalisat
institutioneditorialEin Institutionsprofil
contentPageeditorialEine redaktionelle Seite
wikiPageknowledgeEine Seite der Wissensdatenbank

Darüber hinaus trägt jede Sammlung ihre eigenen Felder — dataProvider und die Rechteangaben bei chos, place und legalName bei Institutionen, book und chapter bei der Wissensdatenbank.

const {results} = await fetch(
'https://api.kulturpool.at/v2/search/federated?q=Klimt&per_page=5',
).then((r) => r.json());

for (const result of results) {
for (const {document} of result.hits) {
console.log(document.docType, '·', document.title, '→', document.url);
}
}

Nach Sprache eingrenzen​

docLanguage sagt, in welcher Sprache ein Dokument verfasst ist. Redaktionelle Seiten und Wiki-Seiten sind de oder en — je Sprache ein eigenes Dokument.

Digitalisate tragen mul („mehrere“, ISO 639-2): ein Objektdatensatz ist nicht in einer Sprache geschrieben, sondern trägt mehrsprachige Metadaten.

Eine deutschsprachige Suche filtert deshalb auf beides:

curl "https://api.kulturpool.at/v2/search/federated?q=Klimt&filter_by=docLanguage:%5Bde,mul%5D"
filter_by=docLanguage:[de,mul]

Einzelne Sammlungen​

collections bestimmt Auswahl und Reihenfolge:

# Nur redaktionelle Inhalte und Wissensdatenbank
curl "https://api.kulturpool.at/v2/search/federated?q=IIIF&collections=editorial,knowledge"

Eine einzelne Sammlung durchsuchen Sie einfacher über die Suche mit collection=… — dort stehen auch Facetten und Sortierung zur Verfügung.

Fehlerbehandlung​

CodeBedeutung
422q fehlt, oder collections nennt eine unbekannte Sammlung
502Die Suchmaschine ist nicht erreichbar
{
"detail": "Unbekannte Sammlung(en): buecher. Erlaubt: chos, editorial, knowledge."
}
Facetten über Sammlungen hinweg

Facetten sind hier standardmäßig aus, weil sie je Sammlung getrennt gezählt werden und sich nicht sinnvoll zu einer Liste zusammenfassen lassen. Wenn Sie Facetten brauchen, fragen Sie die betreffende Sammlung über die Suche einzeln ab.