You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Current »

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.

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

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

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 stages to be executed if the condition is true-array of BaseStageYes (minItems: 1)
else_stagesList of stages to be executed if the condition is false[]array of BaseStageNo (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

_if = IfWrapperStage(
    name='if',
    check_field='flag',
    check_value=True,
    stages=[_search1],
    else_stages=[_search2]
)
  • No labels