Skip to content

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

@vicpsl

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-vue#23

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions