Looking for the old docs site? You can still view it for a limited time here.

Pipeline Stages Reference

Index Pipeline stages are used to create and modify PipelineDocument objects.

Query Pipeline stages are used to modify Request objects and Response objects.

Pipeline Stage Properties

Fusion associates a pipeline stage definition with a unique ID and stores the definition so that stages can be reused across pipelines and applications. In addition to an ID, all stages have the following properties:

  • type (required): an enumeration, one of the defined Fusion pipeline stage types, e.g., "index-logging". If the Fusion UI is used to define the stage, this property is filled in automatically.

  • label (optional) : a string field with a maximum length of 255 characters. The label is displayed on the Fusion UI.

  • skip (optional): a boolean value, If true, pipeline processing bypasses this stage altogether. The default is false.

  • condition (optional): 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".

Check whether pipeline document contains a named field:

doc.hasField("acl_ss")

Query pipeline stage Condition Example

Process 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.