Image du projet 'Constellio' téléversée
  1. Constellio
  2. CONSTELLIOEIM-275

Support pour les facettes pivot

    XMLWordImprimable

    Informations

    • Type: Nouvelle fonctionnalité
    • Etat: Ouverte
    • Priorité: Majeur
    • Résolution: Non résolu
    • Affecte la/les version(s): Aucune
    • Version(s) corrigée(s): BackLog
    • Composants: Aucune
    • Etiquettes:
      Aucune

      Description

      Pour les pivots, faudrait mieux garder le fonctionnement générique à y penser.

      Voici quelques exemple d'utilisation (avec les connecteurs):
      Site web : http://www.redhat.com on a la section "Technologie" : http://www.redhat.com/en/technologies/linux-platforms

      On pourrait donc voir dans la facette :
      - Red Hat (5)
      - Microsoft (10)
      - Apple (3)

      Lorsqu'on clique sur Red Hat, on active le pivot (dans la requête de Solr) :

      On pourrait donc voir dans la facette :

      - Red Hat (5)
        > Technologies (2)
        > Service (3)
      - Microsoft (10)
      - Apple (3)

       #######
      On définirait les pivots dans l'écran de configuration de la facette.

      En théorie, je pense qu'on peut définir une profondeur de pivot illimitée : facet.pivot:champ1,champ2,champ3

      ###

      Pour les taxonomies, on pourrait utiliser les facet query + les pivots : https://cwiki.apache.org/confluence/display/solr/Faceting#Faceting-Pivot(DecisionTree)Faceting : Combining Facet Queries And Facet Ranges With Pivot Facets

      Le pivot s'active tant que l'on a des résultats :

      Exemple pour les dossiers dans le Connecteur smb: facet.pivot:connector

      - Web (309)
      - Lecteur Y: (403)
      - Lecteur Z: (506)

      L'utilisateur clique sur Y:.

      Ensuite, on crée un facet query : facet.query={!tag=q1}path:/* facet.pivot=connector,{!query=q1}path

      Résultat :
      - Web (309)
      - Lecteur Y: (403)
        > \dossier1 (201)
        > \dossier2 (202)
      - Lecteur Z: (506)

      L'utilisateur clique sur "dossier1.
      Ensuite, on crée un facet query : facet.query={!tag=q1}path:/* facet.query={!tag=q2}path:/dossier* facet.pivot=connector,{!query=q1}path,{!query=q2}path
      On théorie, on peut chaîner à l'infini que comme cela (si la performance est bonne).

      #####

      Côté UI le défi c'est de rendre ça simple pour l'administrator qui veut se créer un pivot.

      #####

      À bien y penser, la meilleure approche, n'est pas celle plus haut.
      Le mieux sera de stocker le dossier parent complet (dans l'exemple du connecteur smb). et de facetter sur
      facet.pivot=connector,parentPath,parentPath,parentPath,parentPath,...

      Filtre :
      fq=parentPath:"/share/subShare/subSubShare/..."

        Pièces jointes

          Activité

            Personnes

            • Responsable:
              fbaril Francis Baril
              Rapporteur:
              tdonnarumma Tommaso Donnarumma
            • Votes:
              0 Voter pour cette demande
              Gérer les observateurs:
              0 Commencer l'observation de cette demande

              Dates

              • Création:
                Mise à jour: