Comment se fait-il que, lorsque l'on recherche "Ruyer" dans le GS on trouve "ruyer" ?
Question d'origine :
Comment se fait-il que, lorsque l'on recherche "Ruyer" dans le GS, avec "Recherche par mots-clés", on récupère aussi Ruy ?
Réponse du Guichet

Le moteur de recherche du Guichet du Savoir utilise une fonction appelée stemming.
Bonjour,
Le moteur de recherche du Guichet du Savoir applique, entre autres, une fonction appelée stemming qui permet de retrouver la racine d'un mot.
L'algorithme configuré pour le moteur Solr du Guichet s'appelle FrenchLightStemming et utilise l'algo décrit sur researchgate.net.
L'algorithme original supprime les terminaisons -er pour es mots de plus de 6 lettres et plus, l'implémentation utilisé dans solr/lucene pour les mots 5 lettres et plus.
Le code du stemmer fait exactement ceci:
if (len > 4) {
if (s[len-1] == 'r') len--;
if (s[len-1] == 'e') len--;
if (s[len-1] == 'e') len--;
if (s[len-1] == s[len-2] && Character.isLetter(s[len-1])) len--;
}
return len;
Ainsi, après "stemming"ruyer devient ruy et c'est ce qui est recherché dans un des index du moteur, index pour lequel le même stemming a été appliqué lors de l'indexation.
Le texte est aussi indexé dans un autre index pour lequel aucun "stemming" n'a été appliqué, si le texte de recherche "original" a une correspondance dans cette index, ce résultat sera considéré comme plus pertinent et sera mieux pondéré dans le liste des résultats.
N'hésitez pas à contacter directement le Guichet du Savoir à gds_support@bm-lyon.fr pour d'autres demandes concernant son fonctionnement.