Image du projet 'Socle K-Sup' téléversée
  1. Socle K-Sup
  2. CORE-5113

Améliorations multiples sur le moteur de recherche (API)

XMLWordImprimable

    • Icon: Demande d'amélioration Demande d'amélioration
    • Résolution: Clôture automatique
    • Icon: Mineur Mineur
    • Aucune
    • 6.06.22, 6.08.00, 6.07.30
    • Search
    • Aucune

      Bonjour,

      Dans le cadre d'une implémentation de fonctionnalités basées sur la recherche, je propose ici un certain nombre d'améliorations sur l'API du moteur de recherche. Il ne s'agit pas de proposer des nouvelles fonctionnalités, mais d'améliorer l'usage de l'API de recherche.

      Extension de l'API

      • Il reste encore quelques méthodes sur des services de recherche (très peu) qui sont private, et empêchent une surcharge "simple" de comportements de mapping ou de recherche. C'est le cas de :
        • TextServiceSearchResult (qui mappe bien les aggrégations dans les filtres, mais pas les filtres (simples))
        • DefaultServiceElasticFilter
        • MultiFicheAutoCompletion : (avec suppression du static pour permettre une surcharge)
        • ServiceSearchConfiguration

      Généricité

      • Il manque une interface de filtre plus générique que SearchFilterValueConfiguration : SearchFilterConfiguration, qui ne porte pas la notion de "field", qui pourrait notamment être utilisée dans le cas d'un filtre de type script (qui ne porte pas la notion de field dans le builder).
      • Dans le bean SearchFilterModel on définit un attribut aggregationName alors qu'un filtre n'est pas nécessairement une aggrégation, d'autant plus que name est porté par le modèle qui en hérite
      • Nommage : dans un modèle de filtre, il ne devrait pas être nécessaire de répéter le mot "filter" (filterKey / filterName)... quand on manipule un modèle... de filtre.

      Découpage de fonctionnalités

      • Depuis la classe SearchServlet, le mapping entre une requête HTTP et les SearchOptions pourrait être sorti dans un service (converter) dédié, permettant de pouvoir étendre ce comportement (simplement) depuis un projet (c'est déjà en partie fait sur 6.7+ avec la notion de QueryParamMapper).

            camille.lebugle Camille LEBUGLE
            cpoisnel Charles-edouard POISNEL
            Votes:
            0 Voter pour ce ticket
            Gérer les observateurs:
            2 Démarre l'observation de ce ticket

              Création:
              Mise à jour:
              Résolue: