Skip to content

Architecture du service de recherche et fonctionnalités attendues pour la suite DoTS #2

Description

@vicpsl

Conseil sur l'architecture du service de recherche de la suite DoTS :

Cette issue inclut explicitement une phase d’analyse et de conseil visant à déterminer la meilleure architecture à adopter pour leservice de recherche de la suite DoTS, pour arbitrer notamment entre :

  1. la conception d'outils de recherche permettant le dialogue direct entre l'API d'Elasticsearch et le front-end DoTS-vue, impliquant :
  • l'exposition des APIs ES de nos instances ES (non-accessibles actuellement)
  • la création des requêtes ES en JS dans un/des composants du front-end
  • la lecture, le traitement et l'enrichissement des réponses d'ES dans un/des composants du front-end
  1. la conception d'un middle-ware "dots-es-app" sur le modèle d'applications existantes : encpos-app, miroir-app ou surtout lettres-app pour la complexité de ce dernier (lettres-app/elastic, lettres-app/app/api/search.py et lettres-app/app/api/route_registrar.py : def search et def register_search_route), impliquant :
  • la non exposition des APIs d'ES
  • la création des requêtes ES en python sur la base de requêtes custom en provenance du front-end sur la route search
  • la lecture, le pré-traitement et l'enrichissement des réponses d'ES en python dans ce middle-ware
  1. une autre implémentation appropriée, de préférence basée sur le stack technologique existant

Fonctionalités attendues

Formulaire de recherche

  1. Recherche différenciée entre métadonnées (notice) et contenu des documents
https://dev.chartes.psl.eu/ecco/search https://theses.chartes.psl.eu/
Image Image
  1. Recherche plein texte incluant wildcards, regex, recherche floue, au sein des données indexées de DoTS fournissant des resultats avec :
  • Highlights ES des matchs et identifiants de passage (au sens DTS) où ils sont trouvés
  • Scores (tris sur score possible)
https://dev.chartes.psl.eu/ecco/search https://theses.chartes.psl.eu/
Image Image
  1. Filtres/Facettes à auto-complétion sur les colonnes pertinentes (selon disponibilité) pour un projet DoTS : (sous-)collection d'appartenance, dates (plus ou moins précises), auteur, etc
https://dev.chartes.psl.eu/ecco/search https://endp.chartes.psl.eu/endp/persons
Image Image
  1. Filtres de date (slider)
https://dev.chartes.psl.eu/ecco/search
Image
  1. Combiner recherche et filtres

Affichage des résultats

  1. Tris sur les colonnes pertinentes (selon disponibilité) pour un projet DoTS : dates (plus ou moins précises), auteur, titre, score, etc
https://theses.chartes.psl.eu/
Image
  1. Pagination des résultats
https://theses.chartes.psl.eu/
Image
  1. Comptage des résultats (y compris > 10.000)
https://dev.chartes.psl.eu/ecco/search
Image
  1. Compteur par facette :
https://endp.chartes.psl.eu/endp/persons
Image
  1. A évaluer : comptage de données liées (compteur de buckets ES)
https://dev.chartes.psl.eu/ecco/search
Image
  1. Liage des résultats :
    Les résultats de recherche plein texte dans les documents doivent être associés au passage (au sens DTS) du texte où ils été trouvés (voir aussi #1).
    Les URLs (domaine/base_url/projet_id_ou_collection_id/fragment_édité_id#ancre_id_éventuelle) devront pouvoir être reconstruites au clic sur un résultat.

Critères d'évaluation des propositions d'architecture :

  1. Sécurité (accès direct ouvert vers nos instances ES)
  2. Capacité à assurer les fonctionnalités de recherche attendues (cf. ci-dessus )
  3. Capacité à dialoguer avec ES via l'API ES directement mais aussi de gérer des recherches custom plus complexes (si nécessaire pour répondre au point 2.)
  4. Capacité à rendre optionelle la fonctionnalité de recherche par projet d'un déploiement DoTS-vue donné
  5. Capacité à prendre en compte, le cas échéant, des paramètres de configuration des dossiers de configuration des déploiements front-end (dots-elec-settings)

Documentation

  1. Documentation DTS et DoTS
  2. Code Front-end : dots-vue et exemples de dossiers de configuration dots-vue-elec-settings et dots-vue-demo-settings
  3. Composant(s) front-end permettant de disposer de ces fonctionalités : voir aussi Composants de recherche Vue pour le front-end DoTS-vue dots-suite/dots-vue#23

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions