Query-time boosting
Luigi's Box offers support for query-time boosting, allowing you to define conditions that enhance the ranking of products by assigning them higher scores. In the demo below, entering "fender" into the two searchboxes illustrates this functionality. The left searchbox is configured to prioritize results from the "Music" category, while the right searchbox prefers the "Sailors" category.
Notably, the only distinction between the two searchboxes is in the prefer
API parameters they utilize. The left searchbox employs prefer[]=main_category_lvl_1:Music
, indicating a preference for products in the "Music" category. On the other hand, the right searchbox utilizes prefer[]=main_category_lvl_1:Sailors
, expressing a preference for products within the "Sailors" category.
Query-time boosting via the prefer
parameter is supported across all Luigi's Box services to provide a consistent user experience:
- Autocomplete API
-
Autocomplete.js via the
Prefer
configuration option. - Search API
-
Search.js via the
Prefer
configuration option.
Boosting vs. filtering
Boosting (or preference) should not be conflated with filtering. While boosting influences the ranking order of results, it does not impact the presence or absence of a product in the search results. On the contrary, filtering acts as a pruning mechanism for the result set. If a product fails to meet the specified filters, it is designated as "not found."
For instance, consider a search for 'fender guitar.' The left searchbox, which prioritizes "Sailing," will still display results for the guitar, albeit with a different ranking order. In contrast, the right searchbox will yield no results, as it exclusively filters products from the "Sailors" category, effectively excluding any that do not meet this criterion. This illustrates the distinct roles of boosting in reordering results and filtering in determining the presence or absence of items based on specified criteria.
Boosting vs. personalisation
Query-time boosting is similar to personalisation in a way that the basic ranking model is being adjusted on-the-fly. The main difference is that personalisation features adjust the ranking dynamically, considering the user's learned preferences and historical interactions. Query-time boosting on the other hand relies on an external instruction where a domain expert has to configure which results should be preferred. In most cases, personalization features effectively cater to user preferences without the need for query-time boosting. Nevertheless, query-time boosting can be valuable, particularly in situations where personalization might face challenges, such as with new users lacking sufficient data or those who reject cookies and thus don't consent to personalization.
Here are some practical examples of when query-time boosting could be beneficial:
Gender-based Boosting in Fashion Domains.
Scenario: Boosting results based on the user's gender.
Conditions: User is logged in, and their gender information is known.
Example: In a fashion domain, results may be boosted to align with the user's gender, providing a more personalized experience.Category-specific Boosting.
Scenario: Boosting results based on the currently browsed category.
Example: If a user initiates searches within the "Sailors" category, the system can be configured to explicitly boost results from that category, enhancing relevance for the user.
It's essential to note that using query-time boosting and personalization concurrently is feasible, as they are not mutually exclusive. Even when query-time boosting is applied, personalization continues to operate in the background, ensuring a comprehensive and adaptable user experience.