Product Selector

Fusion 5.12
    Fusion 5.12

    Recommend Items for User Stage

    The Recommend Items for User query pipeline stage uses signals about item choices to recommend other similar items for a specific user. Personalization for the user can be based on the user’s search history, browsing history, or purchase history, and so on.

    This pipeline stage uses items-for-user recommendations that have been precomputed by the BPR Recommender.

    See also Items-for-user Recommendations to learn how to configure this recommender type and fetch recommendations.


    Enable recommendations:

    Before creating a Recommend Items for Item stage, enable recommendations.

    • In the Fusion UI – With Query Workbench open, click Settings > Enable Recommendations.

    • Using the REST API – Use this command to enable recommendations:

      curl -u USERNAME:PASSWORD -X PUT http://FUSION_HOST:FUSION_PORT/api/collections/COLLECTION_NAME/features/recommendations -H 'content-type: application/json' -d '{"enabled":true}'
    When you enable recommendations, Fusion creates a query pipeline that already contains this stage, and that is configured for boosting. The query pipeline is COLLECTION_NAME_items_for_user_recommendations.

    Using live signals

    The Estimate Recent Results option uses live signals to augment items-for-user recommendations with real-time recommendations.

    When this is enabled, Fusion first looks up items from previously generated recommendations that are similar to the new items. If there are none then it looks up similar users who also interacted with that item to get a list of recommendations based on the new items. It then combines those new recommendations with the job-based recommendations already generated for that user, to generate a final list of recommendations.


    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.

    This stage uses user recommendations for search time boosting

    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.

    numRecommendations - integer

    Default: 10

    modelID - string

    Default: *

    collection - string

    If left blank, the default recommendation collection for the collection being queried will be used.

    resultsLocation - string

    If As Response is chosen, then the result of the RPC call will be the one and only response. In all other cases, the stage will put the response from the REST/RPC call into the target location using the resultsKey.

    Default: As Boosts

    Allowed values: As BoostsAs Response

    modelIdField - string

    the name of the field in the recommendation collection where model ID is stored

    Default: modelId

    scaleRange - Scale Boosts

    Scale the boost values to a [min,max] range

    scaleMin - number

    scaleMax - number

    foldInUpdates - boolean

    Update recommendations based on user activity that has happened since the last recommendation job run

    boostFieldName - string

    The field name to boost the values on.

    Default: id

    boostingMethod - stringrequired

    The boost method to use. query-parser should be chosen if defType!=edismax for main query.

    Default: query-param

    Allowed values: query-paramquery-parser

    boostingParam - stringrequired

    ’Boost' multiplies scores by the boost values whereas 'bq' adds optional clauses to main query.

    Default: boost

    Allowed values: boostbq

    routingParams - array[object]

    Add routing parameter keys (e.g. lw.nodeFilter) and values here for routing recommender searches

    object attributes:{key required : {
     display name: Parameter Name
     type: string
    value : {
     display name: Parameter Value
     type: string

    userIdParam - string

    The name of the request parameter containing the user ID

    Default: user_id

    userIdField - string

    the name of the field in the recommendation collection where user ID is stored

    Default: userId

    itemIdField - string

    the name of the field in the recommendation collection where item ID is stored

    Default: itemId

    weightField - string

    the name of the field in the recommendation collection where weight of the recommendation is stored

    Default: weight

    modelCollection - string

    The name of the collection where models are stored. By default this is {app_name}_recommender_models

    rawSignalsCollection - string

    The collection to use to fetch recent user interactions, if 'Estimate Recent Results' is true.