Histograma (v3)

Pode obter uma representação de histograma do número de trabalhos associados a uma determinada pesquisa. Um pedido de pesquisa, com facetas de histograma definidas, devolve os resultados da pesquisa e uma contagem de todas as tarefas que correspondem a uma consulta específica, discriminadas pelo searchType pedido.

Por exemplo, uma pesquisa de histograma pode devolver o número de trabalhos por tipo de emprego (tempo inteiro, tempo parcial, etc.) a partir do conjunto de trabalhos de um cliente.

A versão beta da Cloud Talent Solution (v3p1beta1) permite-lhe definir histogramas de uma forma menos estruturada, mais flexível e mais intuitiva. As representações do histograma não são alteradas.

Vantagens

A nova estrutura das consultas de histograma oferece aos programadores formas mais intuitivas de definir pedidos de histogramas, ao mesmo tempo que oferece mais clareza na definição de intervalos, etc.

Utilização

A nova parte do histograma da consulta de pesquisa substitui os campos estruturados antigos para definir o histograma.

Exemplos de código

O seguinte exemplo de código devolve resultados do histograma.

O campo histogramQuery é agora um campo de string único que é uma expressão que define o histograma. Para ver detalhes sobre as funções disponíveis para consultas de histogramas, consulte HistogramQuery.

Java

Para mais informações sobre a instalação e a criação de um cliente da Cloud Talent Solution, consulte as bibliotecas de cliente da Cloud Talent Solution.

Java

Para se autenticar no CTS, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


/** Histogram search */
public static void histogramSearch(String companyName) throws IOException, InterruptedException {
  // Make sure to set the requestMetadata the same as the associated search request
  RequestMetadata requestMetadata =
      new RequestMetadata()
          // Make sure to hash your userID
          .setUserId("HashedUserId")
          // Make sure to hash the sessionID
          .setSessionId("HashedSessionID")
          // Domain of the website where the search is conducted
          .setDomain("www.google.com");

  HistogramFacets histogramFacets =
      new HistogramFacets()
          .setSimpleHistogramFacets(Arrays.asList("COMPANY_ID"))
          .setCustomAttributeHistogramFacets(
              Arrays.asList(
                  new CustomAttributeHistogramRequest()
                      .setKey("someFieldName1")
                      .setStringValueHistogram(true)));

  // conducted.
  SearchJobsRequest searchJobsRequest =
      new SearchJobsRequest()
          .setRequestMetadata(requestMetadata)
          .setSearchMode("JOB_SEARCH")
          .setHistogramFacets(histogramFacets);
  if (companyName != null) {
    searchJobsRequest.setJobQuery(new JobQuery().setCompanyNames(Arrays.asList(companyName)));
  }

  SearchJobsResponse searchJobsResponse =
      talentSolutionClient
          .projects()
          .jobs()
          .search(DEFAULT_PROJECT_ID, searchJobsRequest)
          .execute();
  Thread.sleep(1000);

  System.out.printf("Histogram search results: %s\n", searchJobsResponse);
}

Python

Para mais informações sobre a instalação e a criação de um cliente da Cloud Talent Solution, consulte as bibliotecas de cliente da Cloud Talent Solution.

Python

Para se autenticar no CTS, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

def histogram_search(client_service, company_name):
    request_metadata = {
        "user_id": "HashedUserId",
        "session_id": "HashedSessionId",
        "domain": "www.google.com",
    }
    custom_attribute_histogram_facet = {
        "key": "someFieldName1",
        "string_value_histogram": True,
    }
    histogram_facets = {
        "simple_histogram_facets": ["COMPANY_ID"],
        "custom_attribute_histogram_facets": [custom_attribute_histogram_facet],
    }
    request = {
        "search_mode": "JOB_SEARCH",
        "request_metadata": request_metadata,
        "histogram_facets": histogram_facets,
    }
    if company_name is not None:
        request.update({"job_query": {"company_names": [company_name]}})
    response = (
        client_service.projects().jobs().search(parent=parent, body=request).execute()
    )
    print(response)