Paginar resultados da fonte de pesquisa

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • Limite o número de resultados que uma origem de pesquisa exibe de uma só vez para melhorar o desempenho. Os usuários finais podem carregar mais resultados conforme necessário.

    Antes de Iniciar

    Função necessária: administrador ou sp_admin

    Por Que e Quando Desempenhar Esta Tarefa

    Se estiver adicionando paginação a uma origem de pesquisa simples, defina Paginar resultados no registro de origem de pesquisa como verdadeiro. No entanto, se estiver adicionando paginação a uma origem de pesquisa avançada, você também deverá modificar o script de obtenção de dados para lidar com várias páginas de resultados. Quando um usuário carrega mais resultados de pesquisa, a fonte de pesquisa executa novamente o script de busca de dados.
    Nota:
    Se estiver paginando uma origem de pesquisa com aspectos avançados, não modifique o script de geração de aspectos para carregar aspectos com base nos resultados de cada página. Os aspectos devem permitir que os usuários finais filtrem resultados de um conjunto de resultados inteiro, em vez de resultados específicos da página.

    Procedimento

    1. Na IU da plataforma, navegue até Portal de serviços > Fontes de Pesquisa.
    2. Abra uma fonte de pesquisa à qual adicionar paginação.
    3. Em Fonte de dados definir Paginar resultados para verdadeiro.
      Habilitar este campo adiciona um Carregue mais resultados para a página de resultados da pesquisa. Este sinalizador habilita automaticamente a paginação para origens de pesquisa simples.
    4. Opcional: Se a origem de pesquisa for avançada, modifique o script de obtenção de dados para lidar com várias páginas de resultados de pesquisa.
      Atualize o script de busca de dados usando uma das APIs GlideRecord a seguir, dependendo do escopo da fonte de pesquisa.
      Escopo Método
      Global SetLocation() em GlideRecord - Global
      Aplicação com escopo ChooseWindow() em GlideRecord - Com escopo

      A seguir está um exemplo de script de busca de dados para uma fonte de pesquisa global que consulta a tabela de incidentes e pagina os resultados.

      // queryLocation is a special value injected into the script,
      // which holds the query_location property of the last item
      // in the previously fetched result set
      (function(query, queryLocation, count) {
      	var results = [];
      	var now_GR = new GlideRecord("incident");
      	gr.addQuery("123TEXTQUERY321", query);
      	gr.query();
      	// Here, we are utilizing queryLocation to implement pagination.
      	// In practice, there are many other ways to use the
      	// query_location value of the last item in the previous
      	// result set to implement pagination. Your implementation
      	// will vary by use case.
      	gr.setLocation(queryLocation - 1);
      
      	var resultCount = 0;
      	while(gr.next() && resultCount < count + 1) {
      		results.push({
      			label: gr.getDisplayValue(),
      			short_description: gr.getValue("short_description"),
      			// Here, we are populating the query_location
      			// property of each result item. This is how the
      			// framework knows what value to pass into the
      			// next fetched search result script execution
      			query_location: gr.getLocation(),
      			primary: gr.getDisplayValue(),
      			state: gr.getDisplayValue("state")
      		});
      		resultCount++;
      	}
      
      	if (results.length == 0)
      		return results;
      
      	if(results.length > count) {
      		results.pop();
      	} else {
      		// In order to indicate that a result in the result
      		// set is the final result (that there are
      		// no more results to be fetched), add this property
      		// to the final element in your result set.
      		results[results.length - 1].isLastResult = true;
      	}
      	return results;
      })(query, queryLocation, count, facets);

      Para obter um exemplo adicional, consulte a fonte de pesquisa da Base de conhecimento.

    5. Defina o número máximo de resultados por consulta para a origem de pesquisa nas opções de instância do widget Página de pesquisa ou do widget de pesquisa facetada.

    Resultado

    A página de pesquisa retorna somente o número definido de resultados de uma vez. Quando um usuário seleciona Carregue mais resultados , a fonte de pesquisa executa novamente a consulta ou o script de busca de dados.

    Resultados paginados