Search Orchestrator

From Gcube Wiki
Jump to: navigation, search

Search Orchestrator

The Search Orchestrator is the entry point for the information retrieval services provided in a gCube infrastructures. Implemented as a gCube web service, it is responsible for applying each stage in the chain of stages that compose the query answering process. The first stage in this chain, is the parsing of a submitted query. Contextual Query Language parsing is performed by the gCQLParser. Then a number of predefined preprocessors will be applied to the CQL query tree, resulted from the parsing stage. Preprocessors can apply static rules to rewrite the query in an equivalent form, or enhance the query for semantic and personalization purposes. The next stage comprizes the planning phase. Search Planner explores the search space, and tries to find a plan optimal in terms of the estimated time for producing the complete set of results. Data Sources and Search Operators are the entities involved in the search plan. In the tree that corresponds to the search plan, each leaf expresses the invocation of a Data Source with a specific subquery as input. Intermediate nodes in the tree, express the invocation or Search Operators. Search plan is the input for the workflow search adaptor. This adaptor connects the abstract search layer with the workflow layer. The outcome of the workflow layer is a concrete plan that specifies all the low level details required by the execution layer. The gCube Execution Engine receives as input this execution plan, invokes specific Data Source and Operator instances, and provides as output the gRS2 result set containing the results that answer the initial query. The stages of the query answering chain are depicted in Figure 1.

Figure 1. Query answering stages applied by the Search Orchestrator