KBPortalServiceImpl - Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 1 min. de leitura
  • A API KBPortalServiceImpl está incluída na Gestão de conhecimento V3 [com.snc.knowledge3] como uma inclusão de script. Ela fornece métodos para usar com conhecimento, como integração com uma pesquisa personalizada.

    KBPortalServiceImpl - KBPortalServiceImpl()

    Instancia um objeto KBPortalServiceImpl em uma aplicação global.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum

    KBPortalServiceImpl - getResultData(Object request)

    Retorna resultados de pesquisa com base em palavras-chave do artigo de conhecimento e do conteúdo relevante do bloco de conhecimento a que o usuário tem acesso de leitura.

    Se você ativou o recurso de blocos de conhecimento e está usando uma pesquisa personalizada de conhecimento com sua aplicação, sua pesquisa poderá não retornar artigos relevantes quando as palavras-chave estiverem contidas nos blocos. Para retornar resultados de pesquisa com base em palavras-chave do artigo e do conteúdo do bloco relevante a que o usuário tem acesso de leitura, você deve chamar o método getResultData() dentro da sua pesquisa personalizada.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    solicitação Objeto Objeto JSON para refinar a pesquisa.
    Tabela 3. Retorna
    Tipo Descrição
    Objeto Matriz de resultados de pesquisa no formato JSON com base em palavras-chave do artigo de conhecimento e do conteúdo relevante do bloco de conhecimento a que o usuário tem acesso de leitura.

    integração de uma pesquisa personalizada com blocos de conhecimento

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