2.10.34
馃弳 Main features
馃拵 Highlighting of autocomplete search results
To enable the highlighting of matched text in the popular term and product autocomplete search results, new settings are available in Elasticsuite Premium at
- Stores > Configuration > Elasticsuite > Autocomplete > Popular Term Autocomplete > Highlight Results
- Stores > Configuration > Elasticsuite > Autocomplete > Product Autocomplete > Highlight Results
The feature is available both in the legacy React-based and Vanilla JS InstantSearch autocomplete.
For popular terms, the text matching the initial user query is highlighted.
For products, the text matching the actual search term(s) used to search for products is highlighted, so the behavior will vary according to the situation and the search terms expansion rules dictated by the settings below Stores > Configuration > Elasticsuite > Autocomplete > Advanced Settings.
The example shown below reflects the default settings where the products found are those matching the popular search term "yoga bag", thus both term "yoga" and "bag" highlighted in the visible products.

Future releases might provide
- additional finer grain settings to control the highlighting
- highlighted of additional sections of the autocomplete
Ability to migrate only the top X legacy category product positions
We've introduced a few releases ago the CLI bin/magento interactive command elasticsuite:category-position:migrate to allow you to migrate your legacy product positioning in categories to the Elasticsuite specific positioning.
This release adds an interactive step where you can restrict the number of original positions to retain per category.
/var/www/html $ php bin/magento elasticsuite:category-position:migrate
Transfer negative positions to positive and contiguous ones? (y/n) [default: n] y
Transfer zero positions? (y/n) [default: n] n
Transfer positive positions? (y/n) [default: y] y
It can be useful to set a limit on the number of positions to migrate per category, since you probably want to only make sure that:
- the first page of products is migrated as is ;
- or even better, the first two rows of the first page
to let your optimizers merchandise the rest automatically.
Setting a low limit also avoids slowing down category pages in the BO
Maximum number of positions (negative then positive) per category to migrate (leave blank for all matching positions): 5
This is particularly useful if you have a catalog with a significant size and some categories with a lot of products positioned, to avoid the performance issues associated with the Elasticsuite category preview having to deal with more than 200 or even 500 products positioned.
This is also a way for you, on a per-category basis for instance, to try relying more and more on the Optimizers feature to merchandise your categories.
馃拵 Frontend performance: delayed loading of Vanilla JS InstantSearch Javascript
To improve your site FCP (First Contentful Paint) score, the InstantSearch Vanilla JS components are now loaded with defer by default.
The React version of the InstantSearch will follow in an upcoming release.
Please be advised that regarding the Elasticsuite tracker, for the time being, it is not possible to relocate and use delayed (defer) or asynchronous (async) execution for the two render-blocking scripts located in the <head>.
馃摝 Features
- [Catalog] Option to limit max number of product positions migration command by @rbayet in #3858
- 馃拵 [InstantSearch] Highlighting of results (products, terms) by @rbayet
- 馃拵 [LayeredNavigation] Add discount percentage filter by @vahonc
- [Tracker] Add child simple order item of configurable product by @rbayet in #3819
馃悰 Fixes
- [Catalog] Fixes #3801 Prevent duplicate queries (2.10.x) by @rbayet in #3832
- [Catalog] Fix category position migrator visibility join for CE/Mage-OS (2.10.x) by @rbayet in #3838
- [Catalog] Fix: use catalog_product_entity join for visibility in category position migrate by @mtytula in #3841
- [Core] Fix #3822, search placeholder german translation by @vahonc in #3823
- [Core] Fix #3828, PHP operator precedence bug in Config.php by @vahonc in #3831
- [Core] Adding missing Search Relevance Config controller by @rbayet in #3829
- [Core] Fix condition check for mouseout event (2.10.x) by @rbayet in #3834
- 馃拵 [Healthcheck] Add missing modules to PackageVersionsMismatchCheck by @rbayet
馃捇 Technical
- 馃拵 [BehavioralAutocomplete] Better performance for trending queries by @rbayet
- [Catalog] Allow override filter type for specific attributes by @vahonc in #3821
- [Catalog] Change the visibility of the private methods for Decimal filter by @vahonc in #3824
- [Catalog] Removing remnant of facet coverage computation by @rbayet in #3835
- [Catalog] Support percent as UNIT in attribute property display_pattern (slider) by @vahonc in #3825
- [Core] Stemming override rule for Swedish (SE) by @rbayet in #3818
- [Core] Introducing support for highlighting results by @rbayet in #3827
- 馃拵 [Explain] Remove erroneous reference to Ab Campaign by @rbayet
- 馃拵 [Explain] Decouple Explain and BehavioralOptimizer module by @rbayet
- 馃拵 [InstantSearch] Add defer true to VanillaJS instant search scripts by @vahonc
- [Optimizer] Replace "validate-number-range" rule with a combination of the built-in rules by @vahonc in #3850
- [RuleEngine] Attribute Locator interface by @vahonc in #3836
- [RuleEngine] Attribute Locator interface, refactor Optimizer locator with filter pool, update tests by @vahonc in #3839
- 馃拵 [RuleEngine][AbCampaign] Attribute Locator interface, add A/B optimizer attribute location provider and tests by @vahonc
- [Tracker] Add missing return type declaration by @vahonc in #3846
New Contributors
Full Changelog: 2.10.33.1...2.10.34