KBPortalServiceImpl : global

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 1 minute de lecture
  • L’API KBPortalServiceImpl est incluse dans Gestion des connaissances V3 [com.snc.knowledge3] en tant qu’include de script. Il fournit des méthodes à utiliser avec des connaissances, telles que l’intégration à une recherche personnalisée.

    KBPortalServiceImpl : KBPortalServiceImpl()

    Instancie un objet KBPortalServiceImpl dans une application globale.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun

    KBPortalServiceImpl : getResultData(demande d’objet)

    Renvoie les résultats de recherche basés sur les mots-clés de l’article de la base de connaissances et du contenu pertinent du bloc de connaissances que l’utilisateur a accès à lire.

    Si vous avez activé la fonctionnalité des blocs de connaissances et que vous utilisez une recherche personnalisée de la base de connaissances avec votre application, votre recherche peut ne pas renvoyer d’articles pertinents lorsque des mots clés sont contenus dans les blocs. Pour renvoyer des résultats de recherche basés sur des mots-clés de l’article et du contenu de bloc pertinent que l’utilisateur a accès à lire, vous devez appeler la méthode getResultData() dans votre recherche personnalisée.

    Tableau 2. Paramètres
    Nom Type Description
    Demande Objet Objet JSON pour affiner la recherche.
    Tableau 3. Renvoie
    Type Description
    Objet Tableau des résultats de recherche au format JSON basé sur les mots clés de l’article de la base de connaissances et du contenu du bloc de connaissances pertinent que l’utilisateur a accès à lire.

    Intégrer une recherche personnalisée à des blocs de connaissances

    function doKeywordSearch(queryText, count, queryLocation) {
      var results = [];
      
      // To set up the request.
      var request = {
        keyword: queryText,
        language: "",
    
        // To pass data to filter on different metadata.
        variables: {
          kb_knowledge_base: ['Knowledge'],
          kb_category: '',
          author: ['']
        },
     
        // Provide the following.
        context: gs.getProperty('glide.knowman.sp.search_context', 'Knowledge Search'),
        resource: 'Knowledge',
        order: "relevancy,true",
    
        // Provide the pagination variables.
        start: queryLocation,
        end: queryLocation+count,
    
        attachment: false,
    
        // Provide any additional metadata you want to include in your results.
        knowledge_fields: [
          "number",
          "sys_id",
          "published"
        ]
      };
    
      // To execute the search.
      var response = new KBPortalServiceImpl();
      response.getResultData(request);
    
      // To send the search results back to the UI or to store results in your object.
      for (var i = 0; i < response.results.length; i++) {
        result = response.results[i];
        var article = {};
        article.sys_id = result.meta.sys_id.display_value;
        article.number = result.meta.number.display_value;
        article.short_description = article.short_description;
        article.title = result.title;
        article.published = result.meta.published.display_value;
        article.publishedUTC = result.meta.published.display_value;
        article.text = article.text;
        article.score = result.meta.score;
        article.label = article.short_description;
        article.shortDescription = article.short_description;
        results.push(article);
      }
    
      return results;
    }