Histograma (v3)

Puedes obtener una representación de histograma del número de trabajos asociados a una búsqueda determinada. Una solicitud de búsqueda con facetas de histograma definidas devuelve los resultados de búsqueda y un recuento de todos los trabajos que coinciden con una consulta concreta, desglosados por el searchType solicitado.

Por ejemplo, una búsqueda de histograma podría devolver el número de trabajos por tipo de empleo (a tiempo completo, a tiempo parcial, etc.) de un conjunto de trabajos de un cliente.

La versión beta de Cloud Talent Solution (v3p1beta1) te permite definir histogramas de una forma menos estructurada, más flexible y más intuitiva. Las representaciones del histograma no cambian.

Ventajas

La nueva estructura de las consultas de histogramas ofrece a los desarrolladores formas más intuitivas de definir solicitudes de histogramas, al tiempo que proporciona más claridad en la definición de los contenedores, los intervalos, etc.

Uso

La nueva parte del histograma de la consulta de búsqueda sustituye a los campos estructurados antiguos para definir el histograma.

Códigos de ejemplo

El siguiente código de ejemplo devuelve resultados de histogramas.

El campo histogramQuery ahora es un campo de cadena único que es una expresión que define el histograma. Para obtener información sobre las funciones disponibles para las consultas de histograma, consulta HistogramQuery.

Java

Para obtener más información sobre cómo instalar y crear un cliente de Cloud Talent Solution, consulta las bibliotecas de cliente de Cloud Talent Solution.

Java

Para autenticarte en CTS, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo 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 obtener más información sobre cómo instalar y crear un cliente de Cloud Talent Solution, consulta las bibliotecas de cliente de Cloud Talent Solution.

Python

Para autenticarte en CTS, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo 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)