Classificação personalizada (v3)

O recurso de classificação personalizada permite introduzir uma lógica de negócios própria para controlar a classificação das vagas retornadas pelo Cloud Talent Solution. Um candidato que pesquisa em um site pode definir sua consulta de pesquisa e outros filtros como sempre. Além disso, é possível adicionar uma expressão de classificação à solicitação de pesquisa. O Cloud Talent Solution determina as vagas relevantes para a consulta definida pelo candidato e classifica os resultados com base na expressão de classificação personalizada. Essa lista de classificação é então devolvida para que você possa exibi-la ao candidato.

Vantagens

A classificação personalizada permite controlar como os resultados são listados. Ela também possibilita definir pesos de atributos personalizados. É possível usar uma combinação de pesos e atributos personalizados para criar uma expressão de classificação personalizada que determina a ordem das listagens retornadas.

A classificação personalizada usa como base o serviço de procura de emprego atual. Ela aproveita os valores fornecidos em qualquer combinação de atributos personalizados definida pelo cliente.

Caso de uso

O usuário final pesquisa “engenheiro de software”. A empresa quer exibir listagens de retorno mais alto para esse cargo. As classificações personalizadas permitem que a empresa atribua um valor a essas listagens e as mostre ao usuário final na ordem determinada pela expressão de classificação personalizada.

Uma empresa tem duas listas de trabalho quase idênticas, sendo que a vaga A tem um custo por clique (CPC) maior do que a vaga B. É possível usar a classificação personalizada para aumentar a visibilidade da vaga A, basta ajustar o peso do atributo CPC na classificação personalizada.

Como usar

A classificação personalizada é compatível com os seguintes operadores matemáticos: +, -, *, /, (, )

É possível usar os nomes de campos de atributos do cliente e esses operadores matemáticos para definir uma expressão de classificação personalizada.

Por exemplo, considere que você tem dois atributos do cliente: CPC e novidade, em que novidade é o número de dias desde que a vaga foi postada. Você quer classificar as vaga por CPC e por novidade, sendo que o CPC tem peso de 75% na classificação e a novidade tem peso de 25%. É possível criar uma expressão de classificação personalizada da seguinte maneira:

(0.75*CPC) + (0.25 *Freshness)

Amostra de código

O exemplo a seguir cria uma expressão de classificação personalizada que usa dois atributos personalizados, cpc_value e freshness_value, e define a expressão de classificação personalizada como (cpc_value / 2) - freshness_value.

Java

Para saber mais sobre como instalar e criar um cliente do Cloud Talent Solution, consulte as bibliotecas de cliente do Cloud Talent Solution.


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

Para saber mais sobre como instalar e criar um cliente do Cloud Talent Solution, consulte as bibliotecas de cliente do Cloud Talent Solution.

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