Product Selector

Fusion 5.9
    Fusion 5.9

    Block DocumentsQuery pipeline stage configuration specifications

    The Block Documents query pipeline stage removes documents from the result based on a Block Documents rule which consists of the following elements:

    • field. The document field to filter on.

    • keywords. The words, phrases, or regex used as the filter.

    • mode. Filtering logic applied to keywords, one of:

      • exact. exact matching on any item in the keywords list.

      • phrase. phrase matching on the items in the keywords list.

      • regex. treat items in the keywords list as a regex.

      • match. requires a match for every item in the keyword list, but does not require phrase matching.

    • blocks. A list of document IDs for documents which are always removed from the query result.

    The block documents rule is used to craft a Solr query. The keywords are added to the q Solr query parameter, by default. The configuration property queryParam can be used to specify a different Solr query parameter to use as the keywords filter. The rest of the rule is processed into the fq Solr query parameter.

    Query pipeline stage condition examples

    Stages can be triggered conditionally when a script in the Condition field evaluates to true. Some examples are shown below.

    Run this stage only for mobile clients:

    params.deviceType === "mobile"

    Run this stage when debugging is enabled:

    params.debug === "true"

    Run this stage when the query includes a specific term:

    params.q && params.q.includes("sale")

    Run this stage when multiple conditions are met:

    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.

    Configuration

    When entering configuration values in the UI, use unescaped characters, such as \t for the tab character. When entering configuration values in the API, use escaped characters, such as \\t for the tab character.

    Block results based on document or query

    skip - boolean

    Set to true to skip this stage.

    Default: false

    label - string

    A unique label for this stage.

    <= 255 characters

    condition - string

    Define a conditional script that must result in true or false. This can be used to determine if the stage should process or not.

    queryParam - string

    Default: q

    rules - array[object]

    object attributes:{keyword required : {
     display name: Keyword
     type: string
    }
    mode required : {
     display name: Match Strategy
     type: string
    }
    field required : {
     display name: Field
     type: string
    }
    blocks : {
     display name: Blocks
     type: array
    }
    }