No description
Find a file
2026-07-02 10:09:53 +02:00
config No default in frontend config for now 2026-07-02 10:09:53 +02:00
README.md first commit 2026-07-01 12:21:20 +02:00

Registry Search

Produktivinstanz: https://registry.text-plus.org Testinstanz: https://c102-142.cloud.gwdg.de/registry-search

Für Bug-Reports und Feature Requests einfach ein Issue erstellen.

Aufbau

Dieses Repository enthält die Konfigurationsdateien für die Suche der Registry. Es besteht aus mehreren Komponenten. Zuerst müssen die Daten indexiert werden mit dem Registry Indexer, dann kann die docker-compose.yml mit docker compose up -d ausgeführt werden.

1. Registry Indexer

Der Registry Indexer indexiert alle Metadaten über die Registry API in eine OpenSearch Instanz. Dabei werden die Daten verarbeitet um suchspezifische Aspekte, wie mersprachiges Suchen oder Vektorsuche zu ermöglichen.

2. API

Die Such-API greift auf die Daten und Funktionalitäten von OpenSearch zu. Die Konfigurationsdateien für diese API befinden sich unter /config/api. In der docker-compose.yml, muss noch der Zugang zu OpenSearch angegeben werden. Query Beispiele für die API sind unter https://gitlab.gwdg.de/textplus/registry/registry-docs/-/blob/staging/docs/api/search_api.md?ref_type=heads zu finden.

3. Frontend

Das Such-Frontend kommuniziert mit der API. Die Konfiguration befindet sich unter /config/frontend

Such-API Zugang

Die Suche stellt verschiedene Suchprofile zur Verfügung, die durchsucht werden können:

  • datacite: Ermöglicht eine Suche über alle Datendomänen
  • edition: Suche speziell für Editionen
  • collection: Suche speziell für Kollektionen
  • lexical_resource: Suche speziell für lexikalische Ressourcen

Beispiele

Eine datacite-Suchanfrage:

POST: https://registry.text-plus.org/api/search/datacite

Request Body:

{
  "query": "goethe"
}

Eine edition-Suchanfrage, die Aggregationen und Suggestions mit anzeigt:

POST: https://registry.text-plus.org/api/search/edition

Request Body:

{
  "query": "goethe",
  "aggregations": true,
  "suggestions": true,
}

Eine collection-Suchanfrage mit Filter für arabische Ressourcen (ara):

POST: https://registry.text-plus.org/api/search/collection

Request Body:

{
  "query": "*",
  "aggregations": true,
  "suggestions": true,
  "filter": {"properties.language.@reference": "ara"}
}

Filter

Wir können den Filter einfach erweitern und mehrere Sprachen durchsuchen indem wir die keys in einen String-Array schreiben:

{
  "query": "*",
  "aggregations": true,
  "suggestions": true,
  "filter": {"properties.language.@reference": ["ara", "eng"]}
}

Filter auf andere Felder werden einfach mit Komma getrennt hinzugefügt:

{
  "query": "*",
  "aggregations": true,
  "suggestions": true,
  "filter": {"properties.language.@reference": ["ara", "eng"], "properties.modality.@reference": "gesprochen"}
}