Search Query Pipeline Stages

A query pipeline is made up of a series of query stages that process incoming search queries.

A pipeline stage definition associates a unique ID with a set of properties. These definitions are registered with the Fusion API service and stored in ZooKeeper for re-use across pipelines and search applications.

Fusion includes a number of specialized query stages as well as a JavaScript stage that allows advanced processing via a JavaScript program.

Configuring query pipeline stages

  • In the Fusion UI, the Query Workbench provides an environment for configuring the stages in a query pipeline.

  • The Query Stages API is used used to create, list, update, or delete query stages using JSON. See also the Query Pipelines API.

Conditional query processing

Query Pipeline stages are used to modify Request objects and Response objects. Each stage can include a conditional JavaScript expression (the 'condition' property in its configuration) that can access these objects.

For example, this condition first checks that the property "fusion-user-name" is specified in the Request object, then checks for a particular value:

request.hasParam("fusion-user-name") && request.getFirstParam("fusion-user-name").equals("SuperUser");