Query Pipeline StagesConfiguration specifications
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 Managed Fusion API service and stored in ZooKeeper for re-use across pipelines and search applications.
Managed Fusion includes a number of specialized query stages as well as a JavaScript stage that allows advanced processing via a JavaScript program.
Use the The Query Workbench to configure stages in a query pipeline.
Global pipeline stage properties
- Required
-
-
type: The type of the pipeline stage. This must be one of the defined Managed Fusion pipeline stage types, such as
index-logging
. If the Managed Fusion UI is used to define the stage, this property is filled in automatically.
-
- Optional
-
-
label: A string field with a maximum length of 255 characters. The label is displayed on the Managed Fusion UI.
-
skip: A boolean value. If true, pipeline processing bypasses this stage. The default is false.
-
condition: A JavaScript expression that evaluates to true (1) or false (0). If this condition evaluates to false, this stage is skipped. The default is true.
-
Pipeline Condition Expression
The JavaScript expression specified in the condition property of a pipeline stage has access the pipeline objects.
Index Pipeline Stage Condition Example
An index PipelineDocument has two available variables: doc
and ctx
.
To check whether pipeline document contains a named field:
doc.hasField("acl_ss")
Query pipeline stage Condition Example
To process a query based the query request object:
request.hasParam("fusion-user-name") && request.getFirstParam("fusion-user-name").equals("SuperUser");
!request.hasParam("isFusionPluginQuery")
The first condition checks that the request parameter fusion-user-name
is present and has the value SuperUser
. The second condition checks that the request parameter isFusionPluginQuery
is not present.