ESGF_Search - ESGF/esgf.github.io GitHub Wiki

Wiki Reorganisation
This page has been classified for reorganisation. It has been given the category REVISE.
This page contains useful content but needs revision. It may contain out of date or inaccurate content.

ESGF Search

Current ESGF Search Architecture

Currently, the ESGF Search Service module is composed of separate layers coupled through the definition of public and internal interfaces. The whole architecture is meant to support pluggable search engine back-ends, while exposing the search functionality to clients through a fixed search API.

  1. Clients invoke a public web service API - currently only a REST web service is supported, but others (Hessian, SOAP, etc.) can be added in the future.
  2. Internally, the ESGF search web application parses the client request and invokes the configured back-end engine. On input, an engine specific handler takes care of transforming the search request in a format suitable for the engine. Currently, the only supported back-end engine is Apache Solr, but others plugins can be implemented in the future.
  3. The back-end engine processes the request and creates a response.
  4. On output, the engine specific handler takes care of transforming the engine response in the format requested by the client. Currently, the only supported format is XML (specifically, the Solr XML dialect), but others such as JSON can be added in the future.

ESGF Search Architecture.png

Figure: The current ESGF search service architecture. Transparent boxes indicate components that have been planned, but not yet implemented.