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.

Amostras de código

A amostra de código a seguir retorna os resultados por 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.


/**
 * New histogram search
 */
public static void newHistogramSearch(String companyName) throws IOException {
  // 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");

  HistogramQuery companyIdHistogramQuery = new HistogramQuery()
      .setHistogramQuery("count(company_id)");
  HistogramQuery customFieldHistogramQuery = new HistogramQuery()
      .setHistogramQuery("count(string_custom_attribute[\"someFieldName1\"])");

  // conducted.
  SearchJobsRequest searchJobsRequest =
      new SearchJobsRequest()
          .setRequestMetadata(requestMetadata)
          .setHistogramQueries(Arrays.asList(companyIdHistogramQuery, customFieldHistogramQuery));
  if (companyName != null) {
    searchJobsRequest.setJobQuery(new JobQuery().setCompanyNames(Arrays.asList(companyName)));
  }

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

  System.out.println(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.

def new_histogram_search(client_service, company_name):
    request_metadata = {
        'user_id': 'HashedUserId',
        'session_id': 'HashedSessionId',
        'domain': 'www.google.com'
    }
    company_id_histogram_query = {
        'histogram_query': 'count(company_id)'
    }
    custom_field_histogram_query = {
        'histogram_query': 'count(string_custom_attribute["someFieldName1"])'
    }
    request = {
        'search_mode': 'JOB_SEARCH',
        'request_metadata': request_metadata,
        'histogram_queries': [company_id_histogram_query, custom_field_histogram_query]
    }
    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)