OpenSearch Framework

From Gcube Wiki
Revision as of 12:54, 31 May 2010 by Gerasimos.farantatos (Talk | contribs) (OpenSearch Resource)

Jump to: navigation, search

Description

The role of the OpenSearch operator is to provide support for querying and retrieval of search results via OpenSearch from resources which expose an OpenSearch description document. The operator accepts a set of query terms and parameters and an #OpenSearch Resource reference which contains the URL of an OpenSearch description document and various specifications relevant to the OpenSearch service to be queried. After performing the number of OpenSearch queries required to obtain the desired results, it returns these results wrapping them in a ResultSet.

Extensibility Points

The operator introduces and makes use of a set of functionalities beyond those of the standard OpenSearch specification. These extensions are supported by the introduction of a special #OpenSearch Resource structure and by the internal logic of the operator, the latter using standard OpenSearch functionality provided by a general-purpose OpenSearch library. The extra functionalities are summarized as follows:

  • The support of data transformation by the operator. Provided that an XSLT for one of the MIME types of the results returned by an OpenSearch-enabled search service is available, the operator is able to return the obtained results in a form suitable for further processing.
  • Both direct and brokered result processing is supported. Some OpenSearch-enabled services diverge from the common case of returning a set of direct results and instead provide their results indirectly, by returning a set of links to other OpenSearch-enabled services. Provided that an XSLT used to extract those links from the returned results is made available, the operator will be able to return the full set of results provided by the brokered OpenSearch services.
  • The operator will support one or more security schemes.

OpenSearch Resource

The purpose of an OpenSearch resource object is to describe the specifications of an OpenSearch resource. It encapsulates the extensions described in the #Extensibility Points section. Among the attributes included are:

  • The name of the resource
  • The URL of the OpenSearch Description Document of the service to be queried
  • A data transformation specification for brokered results processing, which, if present, implies that the service returns brokered results
  • Data transformation specifications for a subset of the MIME types of the results which a direct result service returns
  • Security specifications (to be added soon)