Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The If Wrapper stage in SearchAPI allows you to execute a list of stages based on the result of a comparison. This stage checks a specific field inside the intermediate data and compares its value with the one provided in the check_value parameter. If the comparison is true, the stages specified in the stages parameter will be executed. Alternatively, if the else_stages parameter is provided, those stages will be executed.

Note

This applies for all the stage functions process, post_process and get_ui_config

Tip

Remember that the intermediate can be fill with either other stages or the original request body that trigger the pipeline, making this essentially REST API parameters

Info

If Wrapper doesn't return value to the pipeline

Properties

PropertyDescriptionDefaultTypeRequired
typeStage class name-stringYes
enableEnable stage for executiontruebooleanNo
nameName for this specific stage"if"stringNo
save_to_intermediateIf true, the result of the stage will be stored in the intermediate instead of the final sectionfalsebooleanNo
ui_onlySection specific for UI configuration that affects the process of the stageobjectNo
halt_on_exceptionIndicates if the pipeline should be interrupted in case of an exceptionfalsebooleanNo
stagesList of Pipeline with stages to be executed if the condition is true-array of BaseStagePipeline, PipelineLoopYes (minItems: 1)
else_stagesList of Pipeline with stages to be executed if the condition is false[]array of BaseStagePipeline, PipelineLoopNo (minItems: 1)
check_fieldName of the field look for it's value in the intermediate-stringYes
check_valueField value used to compare with the value in the "check_field" to determine if the stage should be enabled-AnyNo

Example Configuration

Code Block
languagepy
themeDJango
_if = IfWrapperStage(
    name='if',
    check_field='flag',
    check_value=True,
    stages=Pipeline(stages=[_search1]),
    else_stages=Pipeline(stages=[_search2search1])
)