Histograma (v3)

É possível ver uma representação de histograma do número de vagas associados a determinada pesquisa. Uma solicitação de pesquisa com os atributos do histograma configurados retorna os resultados da pesquisa e uma contagem de todas as vagas correspondentes a uma determinada consulta, detalhadas pelo searchType solicitado.

Por exemplo, uma pesquisa de histograma pode retornar o número de trabalhos por tipo de emprego (período integral, meio expediente e assim por diante) do conjunto de trabalhos de um cliente.

A versão Beta do Cloud Talent Solution (v3p1beta1) permite definir histogramas de maneira menos estruturada, mais flexível e mais intuitiva. As representações do histograma não mudam.

Benefícios

A nova estrutura de consultas por histograma oferece aos desenvolvedores formas mais intuitivas de definir as solicitações de histograma, ao mesmo tempo em que oferece mais clareza na definição de buckets etc.

Uso

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

Exemplos de código

O exemplo de código a seguir retorna resultados de histograma.

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

Java

Para saber mais sobre como instalar e criar um cliente do Cloud Talent Solution, consulte as bibliotecas de cliente do Cloud Talent Solution.

Java

Para autenticar no CTS, configure o Application Default Credentials. Para mais informações, consulte Configurar 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 saber mais sobre como instalar e criar um cliente do Cloud Talent Solution, consulte as bibliotecas de cliente do Cloud Talent Solution.

Python

Para autenticar no CTS, configure o Application Default Credentials. Para mais informações, consulte Configurar 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)