Open zakdma opened 1 month ago
Hi @zakdma ,
we have plenty of headless multi-language websites running Elasticsuite through the GraphQl API and we did not notice this kind of issues.
Could you please share more details about what you consider as malfunctioning ?
Please share as well screenshot of your attributes configurations.
Regards
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.
Thank you.
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.