Les associateurs sont des classes qui définissent la manière dont les données du service de recherche sont mappées des tables de la base de données d'application aux tables de la base de données de transfert. Chaque service de recherche dispose de son propre associateur (l'associateur à utiliser est spécifié dans la table de base de données du service de recherche). Pour plus de détails, voir mapperName.
Deux processus utilise cette fonctionnalité d'associateur :
Dans ces deux processus, l'associateur approprié pour chaque service de recherche est appelé pour mapper des données à partir des tables de base de données d'application aux tables de base de données de transfert.
Lors de l'initialisation de Generic Search Server, les informations de la base de données de transfert sont lues et utilisées pour générer les index à partir des métadonnées du service de recherche. Le serveur de recherche vérifie périodiquement s'il existe des mises à jour pour la base de données de transfert, et il maintient les données du service à jour.
Les méthodes suivantes de l'interface de programme d'application de l'associateur nécessitent d'être implémentées par les développeurs de recherche sur chaque service de recherche :
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);
Pour plus de détails, voir Implémentation d'opérations de l'associateur