Vous êtes ici : start » koha » recherche » elasticsearch » parametrage
Piste : parametrage

Paramétrage Elasticsearch dans Koha

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.

Attention : le bouton Réinitialiser les correspondances, accessible en bas de page, recharge les correspondances définies dans le fichier mappings.yaml. Si vous avez fait des modifications de mapping via l'interface, elles seront écrasées.

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.

koha/recherche/elasticsearch/parametrage.txt · Dernière modification : 2023/08/03 15:16 de llefaucheur
CC Attribution-Share Alike 4.0 International Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC Attribution-Share Alike 4.0 International