Komponenten
Die Abbildung zeigt den grundsätzlichen technischen Aufbau der Komponente.
Grundsätzlicher technischer Aufbau
Technisch gesehen ist der Suchdienst in drei Sub-Komponenten implementiert. Er besteht aus einem Frontend (Web-Client), einer Anwendung und einer Suchmaschine.
Suchdienst-Frontend
Der Web-Client (auch "Suchclient") auf Basis von HTML, CSS und JavaScript ist als Single-Page-Applikation implementiert, die beim ersten Aufruf komplett in den Browser geladen wird und anschließend über eine direkte Verbindung von Browser zur Suchdienst API Suchanfragen an den Portalverbund versendet und Suchergebnisse empfängt.
Suchdienst-Anwendung
Die Sub-Komponente Suchdienst Anwendung ist eine Java-Anwendung, die ein REST Interface für den Web-Client aber auch für Verwaltungsportale (Zielsystem) bereitstellt. Am Ende kann die Komponente als eine Art Wrapper für die Komponente Suchdienst Suche betrachtet werden, die eine spezifische Portalverbund API anbietet und diese auf die generische Suche-API der Sub-Komponente Suchdienst Suche abbildet.
Zusätzlich kommuniziert die Anwendung mit dem Sammlerdienst und wird von diesem über Änderungen am Leistungsdatenbestand informiert und passt die in der Sub-Komponente Suchdienst-Suche verwalteten Dokumenten entsprechend an.
Suchdienst-Suche
Die Sub-Komponente Suchdienst-Suche auf Basis von Elasticsearch ist die eigentliche Suchmaschine, die die Suche über Leistungen möglich macht. Allerdings bietet Elasticsearch im Standard nur eine generische API, was die Entwicklung der vorgeschalteten Sub-Komponente Suchdienst-Anwendung notwendig macht.
