Product Selector

Fusion 5.12
    Fusion 5.12

    Recommend Items for Item Stage

    The Recommend Items for Item query pipeline stage uses signals about users' item choices to recommend related items based on a specific item. Relationships between items can be based on different criteria, such as click patterns, people who bought this also bought that, percentage match of document tags, and so on.

    Given an item ID, this stage performs a secondary query to the COLLECTION_NAME_items_for_item_recommendations collection to find related items, then retrieves those items from the main collection.

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

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

    Prerequisites

    Enable recommendations:

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

    • Fusion UI – In Collections Manager, click the settings icon next to the collection > Enable Recommendations.

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

      curl -u USERNAME:PASSWORD -X PUT http://FUSION_HOST:FUSION_PORT/api/v1/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_item_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 (if any), to generate a final list of recommendations.

    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.

    This stage returns item-item recommendations or boost similar items for an item

    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
    }
    }

    itemIdParam - string

    The name of the request parameter containing the item ID

    Default: item_id

    itemIdField - string

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

    Default: itemId

    otherItemIdField - string

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

    Default: otherItemId

    similarityScoreField - string

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

    Default: sim