Histograma (v3)

Puedes obtener un histograma que represente la cantidad de trabajos asociados con una búsqueda determinada. Una solicitud de búsqueda con las facetas del histograma configuradas muestra un recuento de todos los trabajos que coinciden con una consulta determinada, desglosados según el searchType solicitado.

Por ejemplo, una búsqueda de histograma podría mostrar la cantidad de trabajos por tipo de empleo (de tiempo completo, de medio tiempo, etc.) del conjunto de trabajos de un cliente.

La versión Beta de Cloud Talent Solution (v3p1beta1) te permite definir histogramas de forma menos estructurada y más intuitiva y flexible. Las representaciones de histogramas no cambiaron.

Beneficios

La estructura nueva de las consultas de histograma permite que los desarrolladores definan solicitudes de manera más intuitiva, a la vez que brinda más claridad a la definición de intervalos, rangos, etcétera.

Uso

En la búsqueda, la nueva parte relativa al histograma reemplaza los campos estructurados que se usaban antes para definir el histograma.

Muestras de código

En la siguiente muestra de código, se muestran resultados de histograma.

Ahora, el campo histogramQuery es un único campo de string y constituye una expresión que define al histograma. Si deseas obtener detalles sobre las funciones disponibles para las consultas de histograma, revisa HistogramQuery.

Java

Consulta Bibliotecas cliente de Cloud Talent Solution para obtener más información sobre cómo instalar y crear un cliente de 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

Consulta Bibliotecas cliente de Cloud Talent Solution para obtener más información sobre cómo instalar y crear un cliente de 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)