Zuordnungsfunktionen

Zuordnungsfunktionen sind Klassen, die definieren, wie Suchservicedaten aus den Tabellen der Anwendungsdatenbank den Tabellen der Staging-Datenbank zugeordnet werden. Jeder Suchservice hat eine eigene Zuordnungsfunktion. Welche Zuordnungsfunktion verwendet werden soll, wird in der Tabelle der Datenbank 'SearchService' angegeben. Weitere Informationen finden Sie unter mapperName.

Diese Zuordnungsfunktion wird in zwei Prozessen verwendet:

  1. Wird der Datenbankextraktor ausgeführt, wird jedes Suchservicefeld für einen bestimmten Suchservice iteriert. Für jedes Feld werden die entsprechenden Entitätsattributdaten aus der Anwendungsdatenbank abgerufen und in die Tabelle 'SearchServiceRow' der Staging-Datenbank gefüllt.
  2. Wenn ein Erstellungs-, Aktualisierungs- oder Entfernungsvorgang für eine in einem Suchservice verwendete Entität aufgerufen wird, werden die relevanten SearchServiceRow-Zeilen mit den zugehörigen Entitätsänderungen aktualisiert.

In diesen beiden Prozessen wird die relevante Zuordnungsfunktion für jeden Suchservice aufgerufen, um Daten aus den Tabellen der Anwendungsdatenbank den Tabellen der Staging-Datenbank zuzuordnen.

Beim Initialisieren des Servers für generische Suche werden die Informationen der Staging-Datenbank gelesen und dazu verwendet, die Indizes aus den Metadaten des Suchservice zu erstellen. Der Suchserver prüft die Staging-Datenbank in regelmäßigen Abständen auf Aktualisierungen und hält die Servicedaten auf dem neuesten Stand.

Die folgenden Methoden der Zuordnungsfunktions-API müssen von den Entwicklern der Suche auf der Grundlage des jeweiligen Suchservice implementiert werden:

SearchServiceRowDtlsList mapToStagingDb(
  final SearchServiceKey id) throws AppException, 
    InformationalException;
    
List getObjectList(final SearchServiceKey serviceId, 
  final Object obj) throws AppException, InformationalException;
  
String getExtKey(final SearchServiceKey serviceId, List objList);

void remove(final SearchServiceKey serviceId, final Object objKey) 
    throws AppException, InformationalException;    
    
Object getFieldValue(final SearchServiceKey serviceId, 
    final List objList, final SearchServiceFieldDtls field);

Weitere Informationen finden Sie unter Operationen der Zuordnungsfunktion implementieren.