Paramétrage Elasticsearch dans Koha
Workflow d'intégration des mappings, du fichier yaml à la page dans Koha
Un fichier 'mappings.yaml' est injecté à l'initialisation d'une installation ou au "reset des mappings". Il constitue une base versionnée dans les sources de Koha, qui contient une liste globale de mappings de base pour unimarc et/ou marc21. Lorsqu'il est injecté, les informations vont en base de données dans 3 tables.
Le mapping chargé est accessible via l'interface professionnelle de Koha, dans Administration > Configuration du moteur de recherche.
Configuration du moteur de recherche
Administration > Configuration du moteur de recherche
Trois onglets sont accessibles dans cette page.
BibLibre dispose d'un processus qui permet de sauvegarder vos modifications, via l'export des mappings et l'actualisation du fichier mappings.yaml. N'hésitez pas à nous informer de vos modifications !
Champs de recherche
Cet onglet présente les champs de recherche (vocabulaire désignant les index de recherche) définis dans la configuration, avec leur nom, leur type (chaîne de caractères, date, nombre…).
Il est possible, pour chaque champ de recherche, d'indiquer s'il pourra être interrogeable à l'opac et/ou depuis l'interface professionnelle. Par défaut ils sont disponibles sur les deux interfaces.
Il est également possible de définir des poids :
- pris en compte uniquement pour le tri par pertinence, uniquement pour la recherche simple.
- ceci permet de remonter dans la liste des résultats des notices ayant le terme recherché dans les index pondérés (exemple le titre, l'auteur).
- la pondération est relative, par exemple entre 1 et 10.
- la pondération est faite à la recherche, pas à l'indexation, ce qui explique qu'on n'ait pas besoin de réindexer quand on modifie la pondération depuis cette interface
A noter que si une pondération est configurée, il est possible de la désactiver à la recherche, en décochant la case "Appliquer des pondérations de champ à la recherche" sur l'interface de recherche avancée (mode Plus d'options).
Il n'est pas (pas encore) possible via cette interface d'ajouter un nouveau champ de recherche : pour ajouter un nouveau champ de recherche, il doit être ajouté au fichier mappings.yaml, et le mapping rechargé. (Demandez à votre prestataire si vous avez besoin d'ajouter des champs de recherche spécifiques).
Notices bibliographiques
Cet onglet présente les correspondances entre les champs de recherche (index) et les champs marc (unimarc, ou marc21, selon la configuration de Koha).
Différents types de correspondances sont faites, selon le champ et le type d'indexation souhaitée
Syntaxe des mappings (admin/mapping.yaml)
100a_/9-12 ⇒ récupère les caractères 10 à 13 du champs 100$a 100a_/9 ⇒ récupère uniquement le 10eme (les index commencent à 0) caractère
011azy ⇒ Prend les sous-champs a, z et y du 011 et les ajoute séparément dans le champ de recherche Elasticsearch. Exemple:
Dans Koha:
700 $a Hall $b John
Mapping:
author => 700ab
Dans ES:
author => [ 'John', 'Hall' ]
L'exemple ci-dessus revient au même que d'écrire 2 mapping comme ceci:
author => 700b author => 700a
215(ajxyz)⇒ récupère les sous-champs a, j, x, y et z et les ajoute dans un seul et même champ ES (concaténation). Exemple:
Dans Koha:
700 $a Hall $b John
Mapping:
author => 700(ab)
Dans ES:
author => [ 'Hall John' ]
Écrire un mapping sans spécifier les sous-champs (i.e. author ⇒ 700), récupère tous les sous-champs du 700 est les ajoute séparément au champ ES correspondant.
Dans Koha:
700 $a Hall $b John $9 123
Dans ES:
author => [ 'Hall', 'John', '123' ]
Modification des mappings
Il est possible via cette interface, d'ajouter des correspondances (sous réserve que le champ de recherche existe), d'en supprimer, d'en modifier.
Les modifications sont sauvegardées après l'enregistrement en bas de page, et prises en compte pour la recherche uniquement après réindexation de la base.
Les informations disponibles et modifiables dans cet onglet sont :
- Triable : est-ce que le champ est triable ; attention, ce n'est pas parce qu'un champ est défini triable qu'il sera accessible dans la liste des tris possibles des résultats de recherche : les tris proposés par Koha ne sont pas configurables. Par contre, vous pouvez indiquer sur quels champs marc doit par exemple porter le tri par auteur : champ de recherche author 700(ab) triable, 200f non triable
- Facettable : de même, Koha possède actuellement des facettes pré-définies, et on ne peut pas facetter n'importe quel champ de recherche. Mais il est possible de choisir les champs marc à facetter dans un champ de recherche facetté par Koha
- Influençable : cette fonctionnalité n'existe pas encore dans Koha, elle devrait permettre à terme la suggestion à la saisie du terme de recherche pour le champ de recherche marqué Influençable
- Interrogeable : permet de préciser si le champ unimarc sera interrogable, ou pas
- Configuration : permet d'ajouter les correspondances
Facettes
Dans le bas de cet onglet sont définies les facettes :
- cocher les facettes que vous souhaitez activer dans les résultats de recherche
- il est possible de modifier l'ordre des facettes pas glisser déposer (cliquer sur une facette et glisser la souris jusqu'à la position souhaitée)
Ne pas oublier d'enregistrer les modifications. Une réindexation sera ensuite nécessaire.
Autorités
Cet onglet affiche les correspondances entre les champs de recherche définis pour les autorités, et les champs marc.
Il est possible de modifier les mappings selon les même processus que pour les correspondances de l'onglet Notices bibliographiques.