Composants de recherche
Composants de recherche
Les composants principaux associés à l'exécution d'une recherche par rapport au catalogue de métadonnées du Géoportail sont représentés dans la figure ci-dessous.
La page de recherche du site Web expose une extrémité de service pour la découverte de métadonnées. Les requêtes à partir de la page sont traitées par un composant SearchController qui, à son tour, exécute les requêtes via le composant SearchEngine.
Le site Web expose une extrémité de service API de requête REST pour la découverte de métadonnées. Cette extrémité de service a la capacité de générer les réponses de fragment GeoRSS, KML, ATOM, JSON, HTML et HTML. Les requêtes sont analysées par un composant RestQueryParser et exécutées via le composant SearchEngine. Tout client qui peut comprendre le protocole RSS, GeoRSS, KML, ATOM, JSON ou HTML peut utiliser cette extrémité. Les clients types incluent : les navigateurs, les systèmes de gestion de contenu, ArcGIS Explorer et Google Earth.
Le site Web expose une extrémité de service CSW 2.0.2 Discovery pour la découverte de métadonnées. N'importe quel client qui comprend le protocole CSW 2.0.2 Discovery peut demander le catalogue via cette extrémité. Les composants du Client CSW du Géoportail, qui se connectent à ArcGIS Explorer et ArcGIS Desktop, peuvent utiliser cette extrémité. Les applications de cartographie externes peuvent être configurées pour utiliser cette extrémité.
Le composant SearchEngine gère les requêtes entrantes à partir de la page de recherche du site Web et l'extrémité API de requête REST exposée. Les requêtes ciblant le catalogue de métadonnées locales sont transformées en un XML CSW 2.0.2 Discovery et soumises à un Analyseur CSW Discovery pour traitement. Les requêtes ciblant un service CSW à distance sont soumises et traitées par un composant de Client CSW.
CSW 2.0.2 Discovery demande au catalogue de métadonnées locales d'implémenter une méthodologue normalisée pour traiter chaque requête :
- La requête est analysée (Analyseur CSW Discovery), extrayant les paramètres de requête CSW et les informations du filtre OGC. Ces informations sont utilisées pour créer un exemple de Modèle de découverte (paquetage com.esri.Geoportal catalog.discovery)
- Le modèle de découverte est envoyé à un LuceneQueryAdapter qui utilise l'API Java d'Apache Lucene pour créer et exécuter une requête par rapport à l'index d'Apache Lucene. Les résultats sont ensuite utilisés pour générer les objets de composant résultants du Modèle de découverte
- Un XML de réponse CSW 2.0.2 Discovery est ensuite généré à partir des objets de composant résultants du Modèle de découverte.