Lecture 1 minute
Notre belle langue française comporte certaines subtilités qui font que, dans le contexte d'une recherche, cela peut devenir pénalisant si elles ne sont pas prises en compte.
Souvent les accents vont nous poser problème si les résultats obtenus les considèrent comme une recherche à part entière : chercher "develo" dans la recherche globale ne permet pas d'afficher "développeur", il faudra taper "dévelo" à la place.
Certains diront que ce n'est pas pratique, heureusement ElasticSearch (moteur de la recherche globale) gère nativement ce critère grâce à ses "analyzer" et est configurable au travers de Sugar.
Voici une entrée dans $sugar_config à inclure dans config_override.php pour résoudre le problème d'accents :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$sugar_config['full_text_engine']['Elastic']['index_settings']['default']['index'] = array( 'analysis' => array( 'analyzer' => array( 'core_email_lowercase' => array( 'type' => 'custom', 'tokenizer' => 'uax_url_email', 'filter' => array( 'lowercase', ), ), 'standard' => array( 'type' => 'custom', 'tokenizer' => 'standard', 'filter' => array( 'asciifolding', 'lowercase', ), ), ), ), ); |
Le filtre "asciifolding" va permettre de convertir les caractères Unicodes dans leur forme ASCII la plus simple (exemple : "é" devient "e").
Un article plus détaillé est accessible directement sur le Blog de SugarCRM : https://developer.sugarcrm.com/2015/08/31/improving-your-elasticsearch-analysis-in-sugar-7/