SPScriptedFacetService : inclus dans le champ d’application

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 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 facettes dans une source de Portail de services recherche. Le script de génération de facette n’est visible que lorsque la source est 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 facets.

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

    Crée un objet de facettes de 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 de facettes à choix unique. Renvoie une erreur dans les cas suivants :
    • 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 du 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 multi-choix.

    Renvoie une erreur dans les cas suivants :

    • 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
      }
    }