Forums de discussion

[6.2EE] Recherche et caractères accentué

Sébastien FAUVART, modifié il y a 7 années.

[6.2EE] Recherche et caractères accentué

New Member Publications: 2 Date d'inscription: 02/04/13 Publications récentes
Bonjour,

Utilisateur de la version 6.2 EE de Liferay, je constate le comportement suivant dans le moteur de recherche :
Si, par exemple, je recherche avec le mot clef "stéphanie" ou "stephanie", les résultats retournés ne sont pas identiques.
J'aimerais avoir les mêmes résultats que se soit avec "stéphanie" ou "stephanie".

Est-ce que quelqu'un a déjà rencontré cette problématique ?
Comment faire pour paramétrer Liferay pour avoir le comportement évoqué ?

Merci d'avance.
Cordialement,
thumbnail
Bertrand Mondolot, modifié il y a 7 années.

RE: [6.2EE] Recherche et caractères accentué

New Member Publications: 6 Date d'inscription: 07/05/14 Publications récentes
Salut Sébastien ;)

Normalement ce genre de changement est géré directement par le moteur de recherche au moment où il analyse la requête.

Si c'est le Lucene embarqué dans Liferay, il faut passer par un ext : https://dev.liferay.com/develop/tutorials/-/knowledge_base/6-2/advanced-customization-with-ext-plugins#configuring-lucene-analyzers
(si c'est Solr ou Elasticsearch, cela se fait directement dans la configuration).

Pour Lucene, si on regarde dans le search-spring.xml, on voit que seul certains champs respectant la regex « .*_fr_[A-Z]{2} » utilisent l'analyseur français :
<entry key=".*_fr_[A-Z]{2}" value-ref="org.apache.lucene.analysis.fr.FrenchAnalyzer" />


Normalement, l'analyseur français devrait gérer les accents correctement (enfin ça dépend de la version utilisée : https://issues.apache.org/jira/browse/LUCENE-3929). Si ce n'est pas le cas, il faut que tu crées ton propre analyseur en te basant sur l'existant (ou les dernières versions de la librairie).
Sinon le problème peut aussi venir du fait que le champ où se trouve le terme « stéphanie » n'utilise pas cet analyseur et qu'il faut donc modifier la conf.

Good luck

Bertrand