Methods for Recommendations and Boosting

This topic provides an overview of different methods for generating recommendations and boosts. "Content-based" and "collaborative" recommendations are two broad categories. More specific recommendation methods are also explained.

Content-based vs collaborative recommendations

Recommendation methods can be divided into two broad categories: collaborative recommendations and content-based recommendations.

Collaborative recommendations always require signals. Some also require a job that pre-computes a matrix of values that can be queried. When these values are used for boosting, then certain query pipeline stages are needed as well.

Method Requires aggregated signals Required job Boosting stage

Collaborative recommendations

These methods analyze how users have interacted with documents.

Content-based recommendations

These methods analyze the content of documents or queries.

Fusion recommendation and boosting methods

This section provides an overview of each method, with links to more detailed topics.

Collaborative recommendations Content-based recommendations

When you enable recommendations, this automatically enables the items-for-user and items-for-item recommendation methods. To use additional recommendation methods, you must configure them separately.

Items-for-item recommendations

Items-for-item recommendations use the Recommend Items for Item query stage to present items that are similar to a specified item. For example, when the user is viewing a BMX bicycle, Fusion can recommend other BMX bicycles. Similarity 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.

Items-for-user recommendations

Items-for-user recommendations use the Recommend Items for User query stage to present items that are similar to ones in which the user has previously shown interest, based on the user’s search history, browsing history, purchase history, and so on. This is one type of collaborative recommendation.

Items-for-query recommendations

Items-for-query recommendations are based on how other users interacted with search results from the same query. This is one type of collaborative recommendation.

For example, if users have searched for "titanic" in the past and many of them clicked on the search result for the DVD of the movie Titanic (as opposed to books or memorabilia), then this method boosts the DVD item on subsequent searches for "titanic".

Queries-for-query recommendations

Queries-for-query recommendations are queries performed by other users who also performed the current query. For example, when a user searches for "madonna", your app may also suggest searches for "evita", "a league of their own", "lady gaga", and so on.

See Queries for Query for details.

Boost with signals

The Boost With Signals query pipeline stage performs automatic boosts based on the contents of the aggregated signals collection. For this type of boosting, signals must be enabled but recommendations need not be.

See Boost With Signals for details.

Users-for-item recommendations

Users-for-item recommendations retrieve the set of users who have interacted with an item, weighted by the number of interactions. This can be useful for community-driven use cases or for marketing campaigns. For example, on your organization’s intranet, clicking a search result could display the item plus a list of colleagues who have interacted with the same item.

Boost documents

The Boost Documents query pipeline stage adds boosting parameters to matched documents based on user-defined rules. Boosts are defined with a term value to boost and the boost factor to add. The boosting parameters are added to the bq Solr query parameter.

See Boost Documents for details.

Parameterized boosting

The Parameterized Boosting query pipeline stage reads the boostValues (in List<DocumentResult> format) from the context variable (added by a Rollup Aggregation stage or a JavaScript stage), and adds boosts to the main query using bq or boost based on the stage configuration. The weights for the boost values can also be scaled.

See Parameterized Boosting for details.

More Like This

The recommendations from Solr MoreLikeThis are not based on collaborative filtering. An alternative query pipeline stage, the Recommend Items for Item stage, uses collaborative filtering.

See Solr MoreLikeThis for details.

Business rules

Business rules are manually-created formulas for rewriting queries. This is the most versatile strategy for creating custom query rewrites. It supports a variety of conditions and actions to address a wide range of use cases. When you need a very specific query rewrite, this is the best strategy.

Business rules are applied in the Apply Rules stage of the query pipeline.

See Business Rules to learn how to create, edit, and publish business rules. See Query Rewriting for additional query rewriting methods.