Histogram (v3)

Cloud Talent Solution memungkinkan Anda mendapatkan representasi histogram dari jumlah lowongan yang terkait dengan penelusuran tertentu. Penelusuran histogram menampilkan jumlah semua tugas yang cocok dengan kueri tertentu, yang dikelompokkan menurut searchType yang diminta. Misalnya, penelusuran histogram dapat menampilkan jumlah lowongan per jenis pekerjaan (purnawaktu, paruh waktu, dll.) yang ada di Mountain View, CA. Untuk menentukan dimensi dan parameter histogram, ikuti panduan ini.

Histogram umumnya dijalankan secara paralel dengan panggilan penelusuran, menggunakan JobQuery yang sama dan requestMetadata yang sama.

Permintaan

Histogram dapat diperoleh dari search API yang mendasarinya. Hal ini dicapai dengan menyetel histogramFacets di API search dan menentukan filter permintaan. Perhatikan bahwa histogram mengamati semua filter sebagaimana ditentukan dalam kueri penelusuran. Contoh berikut menggambarkan mekanisme pengambilan histogram,

Kolom wajib diisi

  • searchTypes adalah daftar kategori yang akan ditampilkan jumlahnya. Misalnya, tentukan EMPLOYMENT_TYPE untuk menampilkan jumlah jenis pekerjaan, seperti purnawaktu atau paruh waktu. Lihat SearchType untuk mengetahui daftar enum yang mendetail.

Kolom opsional

  • jobQuery adalah kueri lowongan yang akan dilakukan dalam penelusuran ini. Lihat Filter Penelusuran untuk mengetahui detail selengkapnya. Dalam contoh ini, tidak ada kueri yang diterapkan.

  • requestMetadata berisi informasi tentang pengguna yang memulai penelusuran. Lihat bagian RequestMetadata di halaman penelusuran lowongan untuk mengetahui informasi selengkapnya.

  • enableBroadening melonggarkan batasan pada lokasi dan kategori pekerjaan dari permintaan penelusuran, untuk menampilkan lebih banyak hasil. Misalnya, jika permintaan menentukan tugas dalam radius 20 mil dari suatu lokasi, menyetel tanda ini ke true dapat menampilkan tugas dari luar radius tersebut. Contoh berikut tidak menyertakan hasil yang diperluas.

Contoh

Contoh berikut menampilkan daftar jumlah tugas di COMPANY_ID dan customAttribute someFieldName1:

Java

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien Cloud Talent Solution.


/** 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

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien Cloud Talent Solution.

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)

Go

Untuk mengetahui informasi lebih lanjut tentang cara menginstal dan membuat klien Cloud Talent Solution, lihat Library Klien Cloud Talent Solution.


// histogramSearch searches for jobs with histogram facets.
func histogramSearch(w io.Writer, projectID, companyName string) (*talent.SearchJobsResponse, error) {
	ctx := context.Background()

	client, err := google.DefaultClient(ctx, talent.CloudPlatformScope)
	if err != nil {
		return nil, fmt.Errorf("google.DefaultClient: %w", err)
	}
	// Create the jobs service client.
	service, err := talent.New(client)
	if err != nil {
		return nil, fmt.Errorf("talent.New: %w", err)
	}

	parent := "projects/" + projectID
	req := &talent.SearchJobsRequest{
		// Make sure to set the RequestMetadata the same as the associated
		// search request.
		RequestMetadata: &talent.RequestMetadata{
			// Make sure to hash your userID.
			UserId: "HashedUsrId",
			// Make sure to hash the sessionID.
			SessionId: "HashedSessionId",
			// Domain of the website where the search is conducted.
			Domain: "www.googlesample.com",
		},
		HistogramFacets: &talent.HistogramFacets{
			SimpleHistogramFacets: []string{"COMPANY_ID"},
			CustomAttributeHistogramFacets: []*talent.CustomAttributeHistogramRequest{
				{
					Key:                  "someFieldString",
					StringValueHistogram: true,
				},
			},
		},
		// Set the search mode to a regular search.
		SearchMode:               "JOB_SEARCH",
		RequirePreciseResultSize: true,
	}
	if companyName != "" {
		req.JobQuery = &talent.JobQuery{
			CompanyNames: []string{companyName},
		}
	}

	resp, err := service.Projects.Jobs.Search(parent, req).Do()
	if err != nil {
		return nil, fmt.Errorf("failed to search for jobs with Historgram Facets: %w", err)
	}

	fmt.Fprintln(w, "Jobs:")
	for _, j := range resp.MatchingJobs {
		fmt.Fprintf(w, "\t%q\n", j.Job.Name)
	}

	return resp, nil
}

Nilai minimum relevansi

Permintaan histogram tidak menggunakan penentuan nilai minimum relevansi. Untuk memastikan jumlahnya konsisten antara penelusuran histogram dan penelusuran pekerjaan yang identik, disableKeywordMatch dalam penelusuran pekerjaan harus false.