Comment utiliser au mieux le moteur de recherche de votre catalogue en ligne ?
Question d'origine :
Concernant la recherche de documents sur le site de la BmL:
Il y a quelque chose de bizarre dans la façon dont fonctionne la recherche avancée: lorsque vous recherchez
titre tous les mots mémoires
vous obtenez 19179 réponses, qui contiennent aussi "mémoire". Vous obtenez le même nombre de réponses si vous recherchez "mémoire". En fait, aucun compte n'est tenu du "s" du pluriel. Comment se fait-ce ? Et comment faut-il faire pour avoir "mémoires" uniquement, et non "mémoire" ? J'ai essayé l'opérateur booléen SAUF, mais ça ne marche pas. L'aide en ligne est vraiment très succinte.
Réponse du Guichet
![gds_ctp Avatar par défaut](https://www.guichetdusavoir.org/media/cache/avatar/user.png)
Nous n'avons pas trouvé de moyen d'affiner les recherches en excluant les formes plurielles des mots des requêtes, aussi avons-nous contacté des collègues plus spécialisés.
Bonjour,
Il arrive effectivement que notre catalogue en ligne manque de souplesse... même s'il est rare que cela nous gêne réellement dans notre travail. Concernant la question de la non-discrimination entre "mémoires" et "mémoire" et leur sens fort différent au masculin et au féminin, nous comprenons que cela vous pose problème.
Aussi avons-nous contacté des collègues du service web de la BmL et de l'espace numérique de la bibliothèque de la Part-Dieu. Nous vous transmettrons évidemment leurs réponses dès que nous les aurons obtenues !
Bonne journée et nos excuses pour ce désagrément.
Complément(s) de réponse
![gds_ctp Avatar par défaut](https://www.guichetdusavoir.org/media/cache/avatar/user.png)
Bonjour,
Un collègue du service web, sollicité, nous a répondu. Nous l'en remercions chaleureusement. Pour la première partie de la question, à savoir pourquoi les requêtes donnent sans distinction "mémoire" et "mémoires", il nous renvoie à cette page du forum Quora, définissant la lemmatisation :
Le stemming (racinisation en français) vise à garder la racine du mot, c’est à dire le tronquer de toute déclinaison, accord (flexions) et dérivations. Quand il est fait automatiquement (en français et anglais en tout cas je dirais), il consiste la plupart du temps à enlever une partie de la fin du terme, quitte à en enlever trop ou pas assez.
La lemmatisation, consiste à ramener un terme, quels que soient ses accords, déclinaisons, etc. à sa forme la plus simple (pour le français infinitif/masculin-singulier).
En racinisation, les mots
continu
continua
continuait
continuant
continuation
continuations
continuesont tous racinisés en “continu” alors qu’avec la lemmatisation on aurait respectivement :
continu
continuer
continuer
continuer
continuation
continuation
continu ou continuer selon qu’on considère l’adjectif ou le verbe à la 1ère personne du présent de l’indicatif (et autres conjugaisons donnant “continue”)
Voir aussi la page Wikipédia.
Notre collègue ajoute :
Pour la recherche exacte, là c'est plutôt une lacune de l'interfaçage du moteur de recherche solr, normalement :
"le mot" cherche la correspondance exact, et si tu utilises l'opérateur EXACT dans la recherche avancée tu devrais trouver ton bonheur, mais ce n'est pas le cas.
pourquoi ?
déjà voici comment Solr cherche en natif.
https://www.solrtutorial.com/solr-query-syntax.html
Donc il peut y avoir quelques raisons tout à fait valables au non traitement de l’exception :
1 : pour des raisons de sécurité les " et ' sont retirés donc non traités
2 : Exact -> traduit en PHRASE par l'interface, traite un lot et pas un mot
3 : le champ d'index qui est requêté est title_t, il faudrait connaître les paramètres de l'indexation pour ce champ et voir si par défaut il n'y a pas une lem ou une stem dessus et si les recherches exactes sont autorisées
4 : quand tu passes une requête à solr la requête est pré traitée selon la configuration de la query syntax et là encore pour des raisons de perf ou de résultat, les mot exacts sont retirés.
Et de conclure en précisant qu'" il existe un équilibre entre performance, sécurité et résultat attendu qu'une configuration solr prend en compte, rajoute la surcouche in-media", ce qui ajoute à l'opacité de la situation.
Ces explications très techniques suggèrent que, normalement, l'opérateur EXACT dans votre requête devrait éliminer les résultats ne correspondant pas - mais que cela ne fonctionne pas, pour des raisons de configuration. Notre collègue nous renvoie à ce sujet non au service web mais au service informatique, qui s'occupe plus profondément du code et de la sécurité de nos outils numériques. Nous allons donc le contacter, et, encore une fois, devrons vous remercier d'avance pour votre patience...
Bonne journée.
Complément(s) de réponse
![gds_ctp Avatar par défaut](https://www.guichetdusavoir.org/media/cache/avatar/user.png)
Rebonjour,
Nous avons reçu la réponse de notre responsable informatique, qui nous dit :
A l’indexation dans le moteur un filtre appelé FrenchLightStemFilterFactory est appliqué.Ce filtre fait effectivement une lemmatisation, concrètement une occurrence de mémoires ou mémoire est stockée comme:memoir .Impossible donc de rechercher sur la forme d’origine.