Benutzerdefiniertes Ranking (v3)

Mit dem benutzerdefinierten Ranking können Sie Ihre eigene Geschäftslogik einführen, um das Ranking der von Cloud Talent Solution zurückgegebenen Jobs zu steuern. Ein Arbeitssuchender, der auf einer Website sucht, kann wie immer seine Suchanfrage und andere Filter festlegen, und Sie können der Suchanfrage einen Rangausdruck hinzufügen. Cloud Talent Solution ermittelt die relevanten Jobs für die vom Jobsuchenden definierte Abfrage und ordnet die Ergebnisse basierend auf dem benutzerdefinierten Ranking-Ausdruck. Diese Rangliste wird Ihnen zurückgegeben, damit Sie sie dem Jobsuchenden anzeigen können.

Vorteile

Mit dem benutzerdefinierten Ranking können Sie steuern, wie die Ergebnisse aufgelistet werden. Sie können zudem Gewichtungen definieren, die Sie benutzerdefinierten Attributen zuweisen können. Mit einer Kombination aus Gewichtungen und benutzerdefinierten Attributen kann ein benutzerdefinierter Rankingausdruck erstellt werden, um die Reihenfolge der zurückgegebenen Einträge zu bestimmen.

Das benutzerdefinierte Ranking basiert auf dem vorhandenen Stellenportal. Es nutzt die Werte, die in einer vom Kunden definierten Kombination der benutzerdefinierten Attribute bereitgestellt werden.

Anwendungsfall

Der Endnutzer sucht nach "Software Engineer". Das Unternehmen möchte Angebote mit höherer Rendite für "Software Engineer" präsentieren. Mithilfe des benutzerdefinierten Rankings kann das Unternehmen diesen Listen einen Wert zuweisen und diese in der durch den benutzerdefinierten Rankingausdruck festgelegten Reihenfolge dem Endnutzer anzeigen.

Ein Unternehmen verfügt über zwei nahezu identische Stellenangebote, wobei Job A einen höheren Cost-per-Click (CPC) als Job B aufweist. Mit dem benutzerdefinierten Ranking kann die Sichtbarkeit von Job A erhöht werden, indem das mit Gewichtungen angepasste Ranking des benutzerdefinierten CPC-Attributs festgelegt wird.

Verwendung

Benutzerdefiniertes Ranking unterstützt die folgenden mathematischen Operatoren: +, -, *, /, (, )

Sie können die Feldnamen von benutzerdefinierten Attributen und diese mathematischen Operatoren verwenden, um einen benutzerdefinierten Rankingausdruck zu definieren.

Sie haben z. B. zwei benutzerdefinierte Attribute: CPC und Aktualität, wobei Aktualität die Anzahl der Tage ist, seit der Job veröffentlicht wurde. Jetzt möchten Sie die Jobs nach CPC und Aktualität sortieren, wobei CPC 75 % bzw. Aktualität 25 % des Rankings ausmacht. Sie können auf folgende Weise einen benutzerdefinierten Rankingausdruck erstellen:

(0.75*CPC) + (0.25 *Freshness)

Codebeispiel

Im folgenden Beispiel wird ein benutzerdefinierter Rangfolgenausdruck erstellt, der zwei benutzerdefinierte Attribute cpc_value und freshness_value verwendet und den benutzerdefinierten Rangfolgenausdruck auf (cpc_value / 2) - freshness_value setzt.

Java

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


public static SearchJobsResponse customRanking(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");

  CustomRankingInfo customRankingInfo = new CustomRankingInfo()
      // Both cpc_value and freshness_value are customAttributes for job.
      .setRankingExpression("cpc_value / 2 - freshness_value")
      .setImportanceLevel("EXTREME");

  SearchJobsRequest request =
      new SearchJobsRequest()
          .setRequestMetadata(requestMetadata)
          .setSearchMode("JOB_SEARCH")
          .setOrderBy("custom_ranking desc")
          .setCustomRankingInfo(customRankingInfo);
  if (companyName != null) {
    request.setJobQuery(new JobQuery().setCompanyNames(Arrays.asList(companyName)));
  }

  SearchJobsResponse response =
      talentSolutionClient
          .projects()
          .jobs()
          .searchForAlert(DEFAULT_PROJECT_ID, request)
          .execute();
  System.out.println(response);
  return response;
}

Python

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

def custom_ranking(client_service, company_name):
    request_metadata = {
        'user_id': 'HashedUserId',
        'session_id': 'HashedSessionId',
        'domain': 'www.google.com'
    }
    custom_ranking_info = {
        'ranking_expression': 'cpc_value / 2 - freshness_value',
        'importance_level': 'EXTREME'
    }
    request = {
        'search_mode': 'JOB_SEARCH',
        'request_metadata': request_metadata,
        'order_by': 'custom_ranking desc',
        'custom_ranking_info': custom_ranking_info
    }
    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)
    return response