ヒストグラム(v3)

特定の検索に関連付けられた求人の数をヒストグラムで表現できます。検索リクエストにヒストグラム ファセットを設定すると、特定のクエリに一致する検索結果とすべての求人の数が、リクエストした searchType 別に分類されて返されます。

たとえば、ヒストグラムを設定して検索すると、お客様の一連の求人に基づき、求人の数が雇用タイプ(フルタイムやパートタイムなど)ごとに返されます。

Cloud Talent Solution ベータ版リリース(v3p1beta1)では、構造化を抑えて柔軟性に優れた直感的な方法でヒストグラムを定義できます。ヒストグラム表現は変わりません。

利点

ヒストグラム クエリの新しい構造により、デベロッパーはより直感的な方法でヒストグラム リクエストを定義でき、また同時にバケットや範囲などをより明確に定義できます。

用途

これまでヒストグラムを定義していた古い構造化項目が、検索クエリのヒストグラムの新しい部分に置き換わります。

サンプルコード

次のサンプルコードは、ヒストグラム結果を返します。

histogramQuery フィールドは、ヒストグラムを定義する式である単一の文字列項目になりました。ヒストグラム クエリに利用できる関数の詳細については、HistogramQuery をご覧ください。

Java

Cloud Talent Solution クライアントのインストールと作成の詳細については、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

Cloud Talent Solution クライアントのインストールと作成の詳細については、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)