SPScriptedFacetService : dans le champ d’application

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 1 minute de lecture
  • Génère un objet de facettes à choix multiple ou à choix unique pour une source de recherche avancée.

    L’API SPScriptedFacetService ne peut être utilisée que dans un script de génération de facette dans une Portail de services source de recherche. Le script de génération de facette n’est visible que lorsque Est une source scriptée est sélectionnée.

    Il n’existe aucun constructeur pour cette classe. Utilisez plutôt les méthodes createFacet() ou createMultiChoiceFacet() pour générer un objet de facettes.

    SPScriptedFacetService : createFacet(Étiquette de chaîne, ID de chaîne)

    Crée un objet de facettes à choix unique.

    Après avoir créé l’objet facets, ajoutez des éléments de facette ou des requêtes mappées à la facette à l’aide de la méthode addFacetItem() de la classe SPScriptedFacet.

    Tableau 1. Paramètres
    Nom Type Description
    étiquette Chaîne Étiquette de la facette.
    id Chaîne ID de la facette.
    Tableau 2. Renvoie
    Type Description
    Objet Objet à facettes à choix unique. Renvoie une erreur lorsque :
    • Une étiquette ou un ID en double a été trouvé.
    • Une étiquette ou un ID n’est pas défini.

    Elle ne peut être utilisée que dans un script de génération de facette dans une source de recherche avancée de Portail de services.

    var stateFacet = facetService.createFacet("State", "state");

    SPScriptedFacetService : createMultiChoiceFacet(Étiquette de chaîne, ID de chaîne)

    Crée un objet de facettes à choix multiples.

    Après avoir créé l’objet facets, ajoutez des éléments de facette ou des requêtes mappées à la facette à l’aide de la méthode addFacetItem() de la classe SPScriptedFacet.

    Tableau 3. Paramètres
    Nom Type Description
    étiquette Chaîne Étiquette de la facette.
    id Chaîne ID de la facette.
    Tableau 4. Renvoie
    Type Description
    Objet Objet à facettes à choix multiples.

    Renvoie une erreur lorsque :

    • Une étiquette ou un ID en double a été trouvé.
    • Une étiquette ou un ID n’est pas défini.
    function createMultiChoiceFacetFromKB(label, variable, values, orderBy){
      if(!values || values.length == 0)
        return;
    
      var kbFacet = facetService.createMultiChoiceFacet(label, variable);
      var kbMap = {};
      for(var i in values) {
        var key = values[i].label;
        var value = values[i].id;
        var parent = new KBParentData().getParentCategory(value, key);
        key = parent.join(' > ');
        kbMap[key] = value;
      }
    
      var labels = Object.keys(kbMap).sort();
      for (i = 0; i < labels.length; i++) {
        var currentLabel = labels[i];
        kbFacet.addFacetItem(currentLabel, kbMap[currentLabel]);
        //adds facet search options for each kbMap entry
      }
    }