You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi!
I'm creating the multi-language site using Nuxt as front and Magento as back communicating using GraphQl. ElasticSuite is installed on it.
ElasticSuite replaced Magento core search implementation to use filtering by attribute option name rather than option id.
It's ok in general but creates problems when using multiple languages where attribute options have different translations.
So when I switched to another language filters in the command line did not work because of different options names in different languages.
I want to switch to use option ids as filter values instead of names but can't find such settings in ElasticSuite configuration.
Could you please advice the best approach how to switch to use option ids programmatically?
I tried to plugin return \Smile\ElasticsuiteCore\Helper\Mapping::getOptionTextFieldName to return $fieldName and actually its working when the index already exists. But index is broken after reindex.
The text was updated successfully, but these errors were encountered:
Install vanilla Magento 2.4.7 with OpenSearch as a searching engine
Create one more store view under default store group. Name it "Ukrainian" and "ua" is the store view code https://prnt.sc/HFV6IYkcE5Kr
Edit default Color attribute and add two options "Red" and "Black" with Ukrainian translations "Червоний" and "Чорний" respectively. https://prnt.sc/zHJaib-f-ony
Add Color attribute to Default attribute set.
Create several simple products under some category with attribute color filled up.
Instal ES composer require smile/elasticsuite ~2.11.0
The problem is that attribute option text is used for filtering, not option_id. So switching to another language will break filtering because color=Red is not correct option value for Ukrainian store view. It should be color=Червоний instead.
We need to preserve filtering during store view (actual language) switching. So it would be good to use option_id as a attribute value for filtering (as vanilla Magento does) color=5 This ID will not change between languages. But looks like ES don't allow us to change filtering back to use option_id.
I'm looking for possibility how to do that or even better if you add this to configuration.
Hi!
I'm creating the multi-language site using Nuxt as front and Magento as back communicating using GraphQl. ElasticSuite is installed on it.
ElasticSuite replaced Magento core search implementation to use filtering by attribute option name rather than option id.
It's ok in general but creates problems when using multiple languages where attribute options have different translations.
So when I switched to another language filters in the command line did not work because of different options names in different languages.
I want to switch to use option ids as filter values instead of names but can't find such settings in ElasticSuite configuration.
Could you please advice the best approach how to switch to use option ids programmatically?
I tried to plugin return \Smile\ElasticsuiteCore\Helper\Mapping::getOptionTextFieldName to return $fieldName and actually its working when the index already exists. But index is broken after reindex.
The text was updated successfully, but these errors were encountered: