How-To Guide for Implementing ESIP Federated Search Servers
Introduction
ESIP Federated Search is a simple framework for doing a federated (distributed) query among participating members for Earth science data. It is based on the OpenSearch convention for distributed searches, which centers around OpenSearch Description Documents. These XML documents include a template that shows how to construct a URL in order to execute a query against a particular search engine.
The ESIP Federated Search includes certain conventions to support a two-step dataset/granule (file) query. In the first step, a keyword query (and sometimes space-time criteria) is issued for datasets. In the second step, each selected dataset is queried for granules matching space-time (and possibly keyword) criteria. [image:esip_2step.png] The key element linking the two steps is an OpenSearch Description document for each dataset which describes how to do the granule (file) search for that dataset.
What Do I Need for an ESIP Federated Search Server?
In a nutshell, you need four things:
- A dataset search engine that supports at least keyword (free-text) search, and optionally space-time constraints
- An OpenSearch Description Document describing the dataset search engine
- A granule-level search engine supporting space-time query
- An OpenSearch Description Document for each dataset that describes the granule-level search template for that dataset
Let's look at each of these in detail.
Dataset Search Engine
The Dataset Search Engine should return an Atom document with the dataset results.