Customizing product Sorting.

ElasticSuite allows you to customize product sorting in several ways :

  • Using the Search Optimizers
  • Manual sorting of products in a category
  • Manual sorting of products for a given search query

Using the Search Optimizers

It can be accessed under the Smile ElasticSuite menu, via the Optimizers entry.

You can create, update and delete your search optimizers here.

Creating an Optimizer

In this page you have a grid displaying all your optimizers. You can add a new one by clicking on the Add New Optimizer button.

You will then be prompted to the optimizer create form containing the following fields :

searchoptimizers_general

Parameter Default value Description
Enable optimizer Yes If the optimizer should be enable or not.
Store View   The store view for this optimizer. An optimizer can only be assigned to one store view.
Model Constant The model to use for scoring :
- Constant : to apply a constant score (Details bellow)
- Based on attribute value : to apply a boost that will be proportional to an attribute value (Details bellow)
- Based on behavioral data : to apply a boost that will be proportional to the selected metric (Details bellow)
Optimizer Name   The name of the optimizer.
Active From   Start date of the optimizer. Use it for temporary events.
Active To   End date of the optimizer.
Request Type   The request to apply the optimizer :
- Catalog Product Search : the catalog search results.
- Catalog Product Autocomplete : product results in the autocomplete
- Category Product View : the catalog navigation.
- Quick Order Suggest Search : product results in the quick order suggest search.
- Related Products : products in the related product blocks.
- Upsell Products : products in the upsell product blocks.
- Cross-sell Products : products in the Cross-sell product blocks.
- Visitor Products : products in the visitor product blocks.

searchoptimizers_rule

This fieldset figures a rule editor where you are able to chose any combination of conditions you want to match.

Eg :

  • “Color is Blue” to apply a boost on products having the value “Blue” for the “Color” Attribute
  • “Only discounted products” to apply a boost on products actually having a special price applied
  • “Only in stock products” to display immediately salable products on top of your product list and so on …
Constant optmizer

boost-bury

The value given to the optimizer will impact the score of the products in listings.
For example : a value of 10 will multiply by 10% the score of products affected by the boost. As a result, products will go up in affected listing.
A value of -40 will multiply by -40% the score of products affected by the boost. As a result, products will go down in affected listing.

Optimizer based on attribute value

boost-attribute-value

Parameter Default value Description
Attribute   Select the attribute the boost will based on
Boost impact   Low
Medium
High
Boost value   Value for the multiplication

Calculation is as follow :
Low : log (attribute value * boost value). For example : Boost value = 2

  • Attribute weight = 1kg –> product score will be multiplied by log(2*1) = 0,3
  • Attribute weight = 3kg –> product score will be multiplied by log(2*3) = 0,78
  • Attribute weight = 100kg –> product score will be multiplied by log(2*100) = 2,3


Medium : √ (attribute value * boost value). For example : boost value = 2

  • Attribute weight = 1kg –> product score will be multiplied by √(2*1) = 1,99
  • Attribute weight = 3kg –> product score will be multiplied by √(2*3) = 2,45
  • Attribute weight = 100kg –> product score will be multiplied by √(2*100) = 14,14


High : attribute value * boost value. For example : boost value = 2

  • Attribute weight = 1kg –> product score will be multiplied by 2*1 = 2
  • Attribute weight = 3kg –> product score will be multiplied by 2*3 = 6
  • Attribute weight = 100kg –> product score will be multiplied by 2*100 = 200