Search Framework 2.0

From Gcube Wiki
Revision as of 17:33, 23 July 2013 by Leonardo.candela (Talk | contribs) (moved Search 2 Framework (NEW) to Search Framework 2.0)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Search 2 Framework

Search Framework consists of all the components that offer information retrieval functionality in a gCube infrastructure. Queries expressed in the Contextual Query Language, are submitted to the entry point of the Search framework, the Search System Orchestrator. Search Orchestrator will first use the gCQLParser to parse the query submitted. Then it will involve the Search Planner to produce a plan sufficient for answering the query. The plan produced will be given as input to the Workflow Engine. Workflow layer abstracts over the low level details associated with the Execution Engine. As a result, workflow engine generates the execution plan that is realized by the Execution Engine. In order to produce the results for the initial query, the Execution Engine will invoke specific instances of Data Sources and Search Operators. The final outcome of the execution stage is a gRS2 result set endpoint reference(EPR). This result set EPR will be used by the client that submitted the query, to obtain the results. Figure 1 shows the interactions between the different layers that compose the query answering process.

Figure 1. Search Workflow

In the following sections we discuss the functionality, implementation details and the key design choices for each layer of the search process:

  • gCQLParser - Small introduction for the Contextual Query Language, CQL enhancements in the gCube framework and description of the parser's implementation.
  • Search Orchestrator - Describes the entry point of the Search Framework, which is implemented as a gCube Web Service.
  • Search Planner - Design, algorithms and techniques applied in the search planning/optimization phase.
  • Workflow Engine
  • Execution Engine
  • Data Sources - Description of the Data Sources involved in a search operation.
  • Search Operators - Description of the functionality and implementation of the Search Operators.