Histogramme (v3)

Vous pouvez obtenir une représentation du nombre d'emplois associés à une recherche donnée sous forme d'histogramme. Une requête de recherche avec un ensemble d'attributs de l'histogramme renvoie les résultats de la recherche ainsi que le nombre total d'emplois correspondant à une requête donnée, répartis selon le type de recherche (searchType) demandé.

Par exemple, une recherche dans l'histogramme peut renvoyer le nombre d'emplois par type de contrat (temps plein, temps partiel, etc.) parmi l'ensemble des offres d'emploi d'un client.

La version bêta de Cloud Talent Solution (v3p1beta1) vous permet de définir des histogrammes de manière moins structurée, plus flexible et plus intuitive. Les représentations d'histogramme ne sont pas modifiées.

Avantages

La nouvelle structure des requêtes d'histogramme permet aux développeurs de définir les demandes d'histogramme de manière plus intuitive, tout en clarifiant la définition des buckets, des plages, etc.

Utilisation

Dans la requête de recherche, la nouvelle zone relative à l'histogramme remplace les anciens champs structurés qui permettaient de définir ce dernier.

Exemples de code

L'exemple de code suivant renvoie les résultats de l'histogramme.

Le champ histogramQuery est désormais un champ à chaîne unique, laquelle est une expression qui définit l'histogramme. Pour en savoir plus sur les fonctions disponibles pour les requêtes d'histogramme, consultez la page traitant du champ HistogramQuery.

Java

Pour en savoir plus sur l'installation et la création d'un client Cloud Talent Solution, consultez la page Bibliothèques clientes 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

Pour en savoir plus sur l'installation et la création d'un client Cloud Talent Solution, consultez la page Bibliothèques clientes 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)