Histogramm (v3)

Mit Cloud Talent Solution können Sie eine Histogrammdarstellung der Anzahl von Jobs abrufen, die einer bestimmten Suche zugeordnet sind. Eine Histogrammsuche gibt eine Anzahl aller Jobs zurück, die einer bestimmten Abfrage entsprechen, aufgeschlüsselt nach der angeforderten searchType. Beispielsweise könnte eine Histogrammsuche die Anzahl der Jobs pro Beschäftigungstyp (Vollzeit, Teilzeit usw.) zurückgeben, die in Mountain View, CA, vorhanden sind. Befolgen Sie diese Anleitung, um die Abmessungen und Parameter des Histogramms zu definieren.

Histogramme werden im Allgemeinen parallel zu einem Suchaufruf ausgeführt, wobei dieselbe JobQuery und dieselbe requestMetadata verwendet werden.

Anfrage

Das Histogramm kann von der zugrunde liegenden search API abgerufen werden. Dies wird erreicht, indem histogramFacets in der search API festgelegt und die Filter der Anforderung definiert werden. Beachten Sie, dass das Histogramm alle in der Suchabfrage definierten Filter berücksichtigt. Das folgende Beispiel veranschaulicht den Mechanismus zum Abrufen eines Histogramms.

Pflichtfelder

  • searchTypes ist eine Liste von Kategorien, für die Zählungen zurückgegeben werden sollen. Geben Sie beispielsweise EMPLOYMENT_TYPE an, um die Anzahl für Beschäftigungstypen wie Vollzeit oder Teilzeit zurückzugeben. Eine detaillierte Liste der Aufzählungen finden Sie unter SearchType.

Optionale Felder

  • jobQuery ist die Jobabfrage, die bei dieser Suche ausgeführt werden soll. Weitere Informationen finden Sie unter Suchfilter. In diesem Beispiel wird keine JobQuery angewendet.

  • requestMetadata enthält Informationen über den Nutzer, der die Suche initiiert. Weitere Informationen finden Sie im Abschnitt RequestMetadata der Jobsuchseite.

  • enableBroadening lockert die Einschränkungen für Standort und Jobkategorie der Suchanforderung, um weitere Ergebnisse zurückzugeben. Wenn eine Anforderung beispielsweise Jobs innerhalb eines Radius von 20 Meilen um einen Standort angibt, kann das Setzen dieses Flags auf true Jobs von außerhalb dieses Radius zurückgeben. Das folgende Beispiel enthält keine erweiterten Ergebnisse.

Beispiele

Im folgenden Beispiel wird die Liste der Jobanzahl für COMPANY_ID und customAttribute someFieldName1 zurückgegeben:

Java

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.


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

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.

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

Weitere Informationen zum Installieren und Erstellen eines Cloud Talent Solution-Clients finden Sie unter Cloud Talent Solution-Clientbibliotheken.


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

Relevanzschwellenwerte

In Histogrammanfragen werden keine Relevanzschwellenwerte verwendet. Um sicherzustellen, dass die Anzahl zwischen einer Histogrammsuche und einer identischen Jobsuche konsistent ist, muss disableKeywordMatch in der Jobsuche false sein.