Histogram (v3)

Cloud Talent Solution memungkinkan Anda mendapatkan representasi histogram 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 Jakarta, Indonesia. 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 menetapkan histogramFacets di search API dan menentukan filter permintaan. Perhatikan bahwa histogram mengamati semua filter seperti yang ditentukan dalam kueri penelusuran. Contoh berikut mengilustrasikan mekanisme pengambilan histogram,

Kolom wajib diisi

  • searchTypes adalah daftar kategori yang akan menampilkan jumlah. 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 tugas 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 pembatasan lokasi dan kategori pekerjaan permintaan penelusuran, untuk menampilkan lebih banyak hasil. Misalnya, jika permintaan menentukan pekerjaan dalam radius 32 km dari lokasi, menetapkan tanda ini ke true dapat menampilkan pekerjaan dari luar radius tersebut. Contoh berikut tidak menyertakan hasil yang diperluas.

Contoh

Contoh berikut menampilkan daftar jumlah tugas di seluruh 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 nilai minimum relevansi. Untuk memastikan bahwa jumlah konsisten antara penelusuran histogram dan penelusuran lowongan yang identik, disableKeywordMatch dalam penelusuran lowongan harus false.