Releases: Smile-SA/elasticsuite
2.11.9
🏆 Main features
Translation improved and added for German 🇩🇪 and Dutch 🇳🇱 !
As the Elasticsuite only consists of people of variable fluency in French and English, we have pretty much relied on the community for additional language translations.
A huge shout-out to @lewisvoncken who provided a huge contribution which not only improved and expanded the German translation but also added a brand new Dutch translation !
We'll try to get the ball rolling and address the gap between Elasticsuite Open Source and Elasticsuite Premium in that regard.
Changing your store language stemmer
Over the years, we've noticed some issues with the default language stemmers used in Elasticsuite where, sometimes, the stemmers would not recognize properly the plural form of a word (for instance irregular french plural or some legitimate italian plurals) or would provide the same stem for quite different words (collection
and collectivité
in french).
That led to the introduction of the stemmer_override
analyzer step which allows a developer to add some stemming rules to address those issues.
But since another approach sometimes used by Elasticsuite end users was simply to test and switch to another available language stemmers, we've decided to make it possible from the Magento Admin.
In the Stores > Configuration, at the store view level, it will be now possible for you to select a different stemmer than the one Elasticsuite uses if ElasticSearch/OpenSearch provides several for your language, that is for: Dutch, English, Finish, French, Galician, German, Hungarian, Italian, Norwegian (Bokmal and Nynorsk), Portugueuse, Russian, Spanish and Swedish.
The configuration is available, at the store view level only, at Stores > Configuration > Elasticsuite > Analyzers settings > Language stemmer configuration (don't forget to perform a full re-index after changing the setting).
Slightly better UX on the indices grid
On a UAT or Staging environment where the Elasticsearch/OpenSearch cluster is shared by many Magento instances, it can be cumbersome to locate and inspect your live indices in the Elasticsuite > System > Indices grid if you have to scroll down 5 screens to reach them.
This release includes two small improvements
- the ability to filter indices by their name (and not only their alias)
- the ability to hide all the external indices
Detailed changelog
📦 Features
- [Core] Allow changing language stemmer when possible by @rbayet in #3361
- [Core] Added dutch (and german) translations with Crowdin (rebase) by @lewisvoncken in #3363
- [Indices] Allow filtering indices grid on indices names by @rbayet in #3381
- [Indices] Allow hiding external indices by @rbayet in #3383
💻 Technical
- [BehavioralData] ( 💎 Elasticsuite Premium) Collect data according to search.max_buckets by @rbayet
- [Catalog] Default sort direction system config settings 2.10 feature by @romainruaud in #3369
- [Catalog] Feature #3333, add system config settings for Default Sort Direction by @vahonc in #3367
- [CatalogOptimizer] Allow category limitation for third party containers by @rbayet in #3352
- [CatalogOptimizer] Category preview for third party containers by @rbayet in #3356
- [Core] Fixing some extra quotes in i18n files by @rbayet in #3365
- [Core] Elasticsuite client exposes cluster info/settings by @rbayet in #3377
- [Recommender] Allow optimizer category preview for recommender containers even when they are the only containers selected for an optimizer by @rbayet
- [Tracker] Prevent events with empty or null tracker visitor/session identifiers to be indexed by @rbayet in #3373
🐛 Fixes
- [Analytics][Tracker] Handle rare case where tracker indices are empty by @rbayet in #3374
- [Catalog] Fix #2948 fallback to the last known valid product positions by @vahonc in #3386
- [Catalog] Show the 'is_filterable_in_search' independently of 'is_searchable' in product attribute edit screen by @rbayet in #3354
- [Core] Fix #3334, adding support currency condition by @vahonc in #3362
- [Core] Fixes #3359 Query name set error if fuzziness and phonetic disabled by @rbayet in #3366
- [Indices] Status 'unknown' when stats fails + logging failures by @rbayet in #3382
- [Optimizers] Fallback to root category for category preview if not root category is selected for a virtual category by @rbayet in #3355
- [Recommender] ( 💎 Elasticsuite Premium) Fix optimizer preview recommender by @rbayet
- [Recommender] ( 💎 Elasticsuite Premium) Make optimizer filter compatible with native by @rbayet
- [Tracking] Add query id in GraphQL search response to make Autocomplete optimizers work properly by @PierreGauthier in #3380
Full Changelog: 2.11.8.3...2.11.9
2.10.23
🏆 Main features
Translation improved and added for German 🇩🇪 and Dutch 🇳🇱 !
As the Elasticsuite only consists of people of variable fluency in French and English, we have pretty much relied on the community for additional language translations.
A huge shout-out to @lewisvoncken who provided a huge contribution which not only improved and expanded the German translation but also added a brand new Dutch translation !
We'll try to get the ball rolling and address the gap between Elasticsuite Open Source and Elasticsuite Premium in that regard.
Changing your store language stemmer
Over the years, we've noticed some issues with the default language stemmers used in Elasticsuite where, sometimes, the stemmers would not recognize properly the plural form of a word (for instance irregular french plural or some legitimate italian plurals) or would provide the same stem for quite different words (collection
and collectivité
in french).
That led to the introduction of the stemmer_override
analyzer step which allows a developer to add some stemming rules to address those issues.
But since another approach sometimes used by Elasticsuite end users was simply to test and switch to another available language stemmers, we've decided to make it possible from the Magento Admin.
In the Stores > Configuration, at the store view level, it will be now possible for you to select a different stemmer than the one Elasticsuite uses if ElasticSearch/OpenSearch provides several for your language, that is for: Dutch, English, Finish, French, Galician, German, Hungarian, Italian, Norwegian (Bokmal and Nynorsk), Portugueuse, Russian, Spanish and Swedish.
The configuration is available, at the store view level only, at Stores > Configuration > Elasticsuite > Analyzers settings > Language stemmer configuration (don't forget to perform a full re-index after changing the setting).
Slightly better UX on the indices grid
On a UAT or Staging environment where the Elasticsearch/OpenSearch cluster is shared by many Magento instances, it can be cumbersome to locate and inspect your live indices in the Elasticsuite > System > Indices grid if you have to scroll down 5 screens to reach them.
This release includes two small improvements
- the ability to filter indices by their name (and not only their alias)
- the ability to hide all the external indices
Detailed changelog
📦 Features
- [Core] Allow changing language stemmer when possible by @rbayet in #3361
- [Core] New translations for German and Dutch (de_DE.csv and nl_NL.csv) (2.10.x) by @lewisvoncken in #3364
- [Indices] Allow filtering indices grid on indices names by @rbayet in #3381
- [Indices] Allow hiding external indices by @rbayet in #3383
💻 Technical
- [BehavioralData] ( 💎 Elasticsuite Premium) Collect data according to search.max_buckets (2.10.x) by @rbayet
- [Catalog] Default sort direction system config settings 2.10 feature by @romainruaud in #3369
- [Catalog] Feature #3333, add system config settings for Default Sort Direction by @vahonc in #3367
- [Core] Fixing some extra quotes in i18n files by @rbayet in #3365
- [Core] Elasticsuite client exposes cluster info/settings (2.10.x) by @rbayet in #3378
- [Tracker] Ignore events with empty/null visitor/session identifiers (2.10.x) by @rbayet in #3375
🐛 Fixes
- [Analytics][Tracker] Handle rare case where tracker indices are empty (2.10.x) by @rbayet in #3376
- [Catalog] Fix #2948 fallback to the last known valid product positions by @vahonc in #3386
- [Core] Fix #3334, adding support currency condition in Advanced Search by @vahonc in #3362
- [Core] Fixes #3359 Query name set error if fuzziness and phonetic disabled by @rbayet in #3366
- [Indices] Status 'unknown' when stats fails + logging failures by @rbayet in #3382
- [Optimizers] Fallback to root category for category preview if not root category is selected for a virtual category by @rbayet in #3355
- [Tracking] Add query id in GraphQL search response to make Autocomplete optimizers work properly by @PierreGauthier in #3380
Full Changelog: 2.10.22.3...2.10.23
2.11.8.3
💻 Technical
- [VirtualCategories] Option to force empty category if virtual category root disabled by @rbayet in #3286
A new setting, enabled by default, is available at Store Configuration > Elasticsuite > Catalog Search > Catalog Search Configuration > Force zero results for disabled categories.
When set to Yes, it will make sure that
- any disabled category used as a "virtual category root" by a virtual category will lead to that virtual category not displaying any products
- any disabled category used in a rule of the rules engine (whether in a virtual category or in an optimizer) will result in a clause not matching any products either
- if that disabled category rule is in "If ALL of these conditions are TRUE" condition, it will make that condition fail
- if that disabled category rule is in "If ANY of these conditions are TRUE" condition, it will be as this that category rule was not in the condition
While it was at some point planned to hardcode that new (in our eyes) correct behaviour, we introduced the setting Store Configuration > Elasticsuite > Catalog Search > Catalog Search Configuration > Force zero results for disabled categories so you can decide to go back how things were by switching the setting to No.
- [Core] Add Support for OpenSearch Settings in Setup ConfigOptions List by @macoaure in #3327
- [Stemmer] Add compas execption by @PierreGauthier in #3339
🐛 Fixes
- [Core] Prevent type error on php8 if attribut label is a phrase object by @PierreGauthier in #3338
- [Indices] Avoid warning when filtering on index alias by @rbayet in #3348
🔧 CI/CD
- [Tools] Speed chmods in CI workflows by @rbayet in #3344
- [Tools] CI: prevent composer cache cross-versions contamination by @rbayet in #3349
New Contributors
Full Changelog: 2.11.8.2...2.11.8.3
2.10.22.3
💻 Technical
- [VirtualCategories] Option to force empty category if virtual category root disabled by @rbayet in #3286
A new setting, enabled by default, is available at Store Configuration > Elasticsuite > Catalog Search > Catalog Search Configuration > Force zero results for disabled categories.
When set to Yes, it will make sure that
- any disabled category used as a "virtual category root" by a virtual category will lead to that virtual category not displaying any products
- any disabled category used in a rule of the rules engine (whether in a virtual category or in an optimizer) will result in a clause not matching any products either
- if that disabled category rule is in "If ALL of these conditions are TRUE" condition, it will make that condition fail
- if that disabled category rule is in "If ANY of these conditions are TRUE" condition, it will be as this that category rule was not in the condition
While it was at some point planned to hardcode that new (in our eyes) correct behaviour, we introduced the setting Store Configuration > Elasticsuite > Catalog Search > Catalog Search Configuration > Force zero results for disabled categories so you can decide to go back how things were by switching the setting to No.
- [Stemmer] Add compas execption by @PierreGauthier in #3339
🐛 Fixes
- [Core] Prevent type error on php8 if attribut label is a phrase object by @PierreGauthier in #3338
- [Indices] Avoid warning when filtering on index alias by @rbayet in #3348
🔧 CI/CD
- [Tools] Speed chmods in CI workflows by @rbayet in #3344
- [Tools] CI: prevent composer cache cross-versions contamination by @rbayet in #3349
Full Changelog: 2.10.22.2...2.10.22.3
2.11.8.2
🐛 Fixes
- [Virtual Category] Fix php8.3 deprecation when root category don't have path by @PierreGauthier in #3336
Full Changelog: 2.11.8.1...2.11.8.2
2.10.22.2
🐛 Fixes
- [Virtual Category] Fix php8.3 deprecation when root category don't have path by @PierreGauthier in #3336
Full Changelog: 2.10.22.1...2.10.22.2
2.11.8.1
💻 Technical
- [Virtual Category] Optimize virtual category rule computation by @PierreGauthier in #3326
🐛 Fixes
- Fix Call to a member function setName() on null by @deg-ayoub in #3322
- [Thesaurus] Fix dashes in synonyms by @romainruaud in #3323
- [Thesaurus] Cache variation according to container name by @rbayet in #3331
New Contributors
- @deg-ayoub made their first contribution in #3322
Full Changelog: 2.11.8...2.11.8.1
2.10.22.1
💻 Technical
- [Virtual Category] Optimize virtual category rule computation by @PierreGauthier in #3326
🐛 Fixes
- [Thesaurus] Fix dashes in synonyms by @romainruaud in #3323
- [Thesaurus] Cache variation according to container name by @rbayet in #3331
Full Changelog: 2.10.22...2.10.22.1
2.11.8
📦 Features
Global Optimizers (premium version only)
In this release we added the ability to create boosts that will apply to all store views instead of having to duplicate them.
GA Datalayer (premium version only)
In this release we added the Elasticsuite related data (thesaurus, boosts, upsell & crossell, etc...) into the standard Magento Datalayer generated for Analytics.
💻 Technical
- [Core] Remove ambiguous 'true' value for elasticsuite indices boolean… by @rbayet in #3299
- [Core] Adding token_count field type by @rbayet in #3311
- [Core] Basic support for search results collapse and inner hits by @rbayet in #3310
- [Core] Prevent stacking SQL where prod. id conditions by @rbayet in #3317
- [Global] Added Named ES queries. by @romainruaud in #3320
🐛 Fixes
- [Catalog] Fix #3302, improving products preview on multi-store setup by @vahonc in #3316
- [Tracker] Fix #3301, improving tracker compatibility with template mi… by @romainruaud in #3318
- [Page Builder] Fix #3275, improved getting current storeId from widget collection by @vahonc in #3315
- [VirtualCategories] Making virtual categories queries named for debugging purposes by @rbayet in #3280
Full Changelog: 2.11.7...2.11.8
2.10.22
📦 Features
Global Optimizers (premium version only)
In this release we added the ability to create boosts that will apply to all store views instead of having to duplicate them.
GA Datalayer (premium version only)
In this release we added the Elasticsuite related data (thesaurus, boosts, upsell & crossell, etc...) into the standard Magento Datalayer generated for Analytics.
💻 Technical
- [Core] Remove ambiguous 'true' value for elasticsuite indices boolean… by @rbayet in #3299
- [Core] Adding token_count field type by @rbayet in #3311
- [Core] Basic support for search results collapse and inner hits by @rbayet in #3310
- [Core] Prevent stacking SQL where prod. id conditions by @rbayet in #3317
- [Global] Added Named ES queries. by @romainruaud in #3320
🐛 Fixes
- [Catalog] Fix #3302, improving products preview on multi-store setup by @vahonc in #3316
- [Tracker] Fix #3301, improving tracker compatibility with template mi… by @romainruaud in #3318
- [Page Builder] Fix #3275, improved getting current storeId from widget collection by @vahonc in #3315
- [VirtualCategories] Making virtual categories queries named for debugging purposes by @rbayet in #3280
Full Changelog: 2.10.21...2.10.21.1