Suche API
Der /search
Endpunkt ermöglicht es, die gesamte Kulturpool-Sammlung über die integrierte Typesense-Suchmaschine zu durchsuchen. Die API leitet Anfragen automatisch an den Typesense-Server weiter und fügt den erforderlichen API-Schlüssel hinzu, sodass Nutzer ohne Authentifizierung suchen können.
Nähere Informationen zur Typesense-Suchmaschine finden Sie in der Typesense-Dokumentation.
Basis-URL
GET /search
Parameter
Pflichtparameter
- q (string): Der Suchbegriff
- Beispiele:
"Wien"
,"Porträt"
,"Albertina"
- Beispiele:
Optionale Parameter
-
query_by (string): Kommagetrennte Liste der zu durchsuchenden Felder
- Standard:
"title,description,creator,subject,dataProvider,publisher,contributor,coverage,spatial,temporal,dcType,medium,isPartOf,identifier,alternative"
- Standard:
-
filter_by (string): Filter für Facetten
- Beispiele:
"dataProvider:=Albertina"
,"edmType:=IMAGE"
,"dateMin:>1900"
- Beispiele:
-
sort_by (string): Sortierung der Ergebnisse
- Beispiele:
"titleSort:asc"
,"dateMin:desc"
- Beispiele:
-
page (integer): Seitennummer (ab 1, Standard: 1)
-
per_page (integer): Anzahl Ergebnisse pro Seite (1-250, Standard: 20)
-
facet_by (string): Kommagetrennte Liste der Facetten
- Standard:
"dataProvider,creator,edmType,dcType,subject,medium,publisher,isPartOf,edmRightsName,edmRightsReusePolicy,dateMin,contributor,intermediateProvider"
- Standard:
-
max_facet_values (integer): Maximale Anzahl Facetten-Werte (1-100, Standard: 50)
-
highlight_full_fields (string): Felder für vollständiges Highlighting
- Standard:
"title,description,creator,subject"
- Standard:
-
use_cache (boolean): Typesense-Cache verwenden (Standard: true)
Verfügbare Suchfelder
Hauptfelder für Volltextsuche
- title: Titel des Objekts
- description: Beschreibung/Inhalt
- creator: Schöpfer:in/Künstler:in
- subject: Themen und Schlagwörter
- dataProvider: Institution (Datenlieferant)
- publisher: Veröffentlicht durch
- contributor: Mitwirkende:r Personen/Organisationen
Weitere durchsuchbare Felder
- coverage, spatial, temporal: Räumlicher und zeitlicher Bezug
- dcType: Dublin Core Objekttyp
- medium: Material/Technik/Medium
- isPartOf: Ist ein Teil von (Sammlungszugehörigkeit)
- identifier: Identifikatoren
- alternative: Alternativtitel
Verfügbare Facetten
Institutionen und Anbieter
- dataProvider: Hauptinstitution (z.B. "Albertina", "Belvedere", "Österreichische Nationalbibliothek")
- intermediateProvider: Zwischenanbieter
- publisher: Veröffentlicht durch
Objekttypen
- edmType: Europeana Data Model Typ
IMAGE
: BilderVIDEO
: VideosSOUND
: AudiodateienTEXT
: Textdokumente3D
: 3D-Objekte
- dcType: Dublin Core Typ (z.B. "Fotografie", "Gemälde", "Skulptur")
Inhaltliche Kategorien
- subject: Themen und Schlagwörter
- medium: Material/Technik/Medium (z.B. "Öl auf Leinwand", "Bromsilbergelatinepapier")
- isPartOf: Ist ein Teil von (Sammlung/Serie)
Rechtliche Informationen
- edmRightsName: Nutzungsrecht
"Public Domain"
: Gemeinfrei"CC BY"
: Creative Commons Attribution"CC BY-SA"
: Creative Commons Attribution-ShareAlike"CC BY-NC"
: Creative Commons Attribution-NonCommercial
- edmRightsReusePolicy: Kann ich es weiterverwenden? (
OPEN
,RESTRICTED
,PERMISSION
)
Zeitangaben
- dateMin: Früheste Datierung (numerisch, Unix-Timestamp)
- dateMax: Späteste Datierung (numerisch, Unix-Timestamp)
Personen
- creator: Schöpfer:in/Künstler:in
- contributor: Mitwirkende:r Personen
Filterbeispiele
# Nur Objekte der Albertina
filter_by=dataProvider:=Albertina
# Nur Bilder
filter_by=edmType:=IMAGE
# Nur gemeinfreie Objekte
filter_by=edmRightsName:="Public Domain"
# Nach 1900 entstanden
filter_by=dateMin:>=-2208988800
# Kombinierte Filter (UND-Verknüpfung)
filter_by=dataProvider:=Albertina && edmType:=IMAGE
# ODER-Verknüpfung
filter_by=dataProvider:=[Albertina,Belvedere]
# Enthält-Filter
filter_by=creator:*Mozart*
Sortieroptionen
- titleSort:asc/desc: Alphabetisch nach Titel
- dataProvider:asc/desc: Nach Institution
- dateMin:asc/desc: Chronologisch (aufsteigend = älteste zuerst)
- dateMax:asc/desc: Chronologisch (absteigend = neueste zuerst)
Beispielanfragen
Einfache Suche
GET /search/?q=Wien
Erweiterte Suche mit Filtern
GET /search/?q=Porträt&filter_by=dataProvider:=Albertina&sort_by=dateMin:asc
Suche mit Facetten
GET /search/?q=Landschaft&facet_by=creator,medium,dateMin&max_facet_values=20
Paginierte Suche
GET /search/?q=Fotografie&page=2&per_page=50
Antwortformat
Die API gibt eine JSON-Antwort im Typesense-Format zurück:
Struktur der Antwort
{
"found": 1234,
"hits": [
{
"document": {
"id": "67f4fc8fbb263def5311bac4",
"title": ["Wien. - Praterleben. Aussenseiter."],
"creator": ["Emil Mayer", "Brüder Kohn Wien (Postkartenverlag)"],
"dataProvider": "Albertina",
"edmType": "IMAGE",
"dcType": ["Fotografie"],
"medium": ["Bromsilbergelatinepapier (Postkarte, Rotationsverfahren)"],
"isShownAt": "https://sammlungenonline.albertina.at/...",
"isShownBy": "https://sammlungenonline.albertina.at/...",
"previewImage": "https://static.kulturpool.at/images/...",
"edmRights": "http://creativecommons.org/publicdomain/mark/1.0/",
"edmRightsName": "Public Domain",
"edmRightsReusePolicy": "OPEN",
"dateMin": -1893456000,
"dateMax": -1862006400,
// ... weitere Felder
},
"highlight": {
"title": [
{
"matched_tokens": ["Wien"],
"snippet": "<mark>Wien</mark>. - Praterleben. Aussenseiter.",
"value": "<mark>Wien</mark>. - Praterleben. Aussenseiter."
}
]
},
"text_match": 578730123365187700
}
],
"facet_counts": [
{
"field_name": "dataProvider",
"counts": [
{"count": 456, "highlighted": "Albertina", "value": "Albertina"},
{"count": 234, "highlighted": "Belvedere", "value": "Belvedere"}
]
}
],
"search_time_ms": 12,
"page": 1
}
Wichtige Felder in den Objektdaten
Anzeige und URLs
- title: Titel des Objekts (Array)
- description: Beschreibung (Array)
- isShownAt: URL zur Detailseite der Institution
- isShownBy: URL zum Vollbild
- object: URL zur mittleren Auflösung
- previewImage: URL zum optimierten Vorschaubild
- iiifManifest: IIIF-Manifest URL (falls verfügbar)
Metadaten
- creator: Schöpfer:in/Künstler:in (Array)
- contributor: Mitwirkende:r (Array)
- publisher: Veröffentlicht durch (Array)
- dataProvider: Hauptinstitution (String)
- intermediateProvider: Zwischenanbieter (Array)
Zeitangaben
- dateMin/dateMax: Numerische Zeitstempel
- created: Datum (Erstellung) - Textuelle Datierung (Array)
- date: Weitere Datumsangaben (Array)
- temporal: Zeitlicher Bezug (Array)
Klassifikation
- edmType: Haupttyp (IMAGE, VIDEO, SOUND, TEXT, 3D)
- dcType: Spezifischer Objekttyp (Array)
- medium: Material/Technik/Medium (Array)
- subject: Themen/Schlagwörter (Array)
Rechteinformationen
- edmRights: Rights-URI
- edmRightsName: Nutzungsrecht (lesbarer Status)
- edmRightsReusePolicy: Kann ich es weiterverwenden? (OPEN, RESTRICTED, PERMISSION)
- dcRights: Zusätzliche Rechteangaben (Array)
Sammlungskontext
- isPartOf: Ist ein Teil von (Sammlungszugehörigkeit) (Array)
- identifier: Identifikatoren/Objektnummern (Array)
- isReferencedBy: Verweise (Array)
Räumliche Angaben
- spatial: Räumlicher Bezug/Ortsangaben (Array)
- coverage: Bezug/Abdeckung (Array)
Technische Daten
- language: Sprache (Array)
- alternative: Alternativtitel (Array)
Tipps für effektive Suchen
- Kombination von Suchbegriffen: Nutzen Sie mehrere Begriffe für präzisere Ergebnisse
- Facetten nutzen: Verwenden Sie Facetten zur Eingrenzung großer Ergebnismengen
- Wildcards:
*
am Ende von Begriffen für Teilworttreffer - Institutionen: Filtern Sie nach spezifischen Institutionen für fokussierte Suchen
- Zeiträume: Nutzen Sie dateMin/dateMax-Filter für chronologische Eingrenzung
- Nutzungsrecht: Filtern Sie nach Nutzungsrechten bei Verwendung der Objekte
Die Typesense-Suchmaschine bietet fuzzy matching und kann auch bei Tippfehlern relevante Ergebnisse liefern.