Ranking personalizado

La función de ranking personalizado te permite ingresar tu propia lógica empresarial para controlar el ranking de los trabajos que muestra Cloud Talent Solution. Un usuario que busca empleo en un sitio puede configurar la consulta de búsqueda y otros filtros como siempre, y puedes agregar la expresión de ranking a la solicitud de búsqueda. Cloud Talent Solution determina los trabajos relevantes para la búsqueda realizada y determina el ranking de los resultados según la expresión personalizada. Después, recibes esta lista con el ranking para que puedas mostrársela al usuario.

Beneficios

El ranking personalizado te permite controlar cómo se enumeran los resultados. Si usas esta función, podrás asignar pesos a los atributos personalizados. Puedes usar una combinación de pesos y atributos personalizados a fin de compilar una expresión de ranking personalizado y determinar el orden de los resultados que se muestran.

El ranking personalizado se compila en el servicio de búsqueda de trabajo existente. Aprovecha los valores brindados en cualquier combinación de los atributos personalizados que defina el cliente.

Caso práctico

El usuario final busca “ingeniero de software”. La empresa quiere mostrar más resultados para “ingeniero de software”. El ranking personalizado permite que la empresa asigne un valor a los resultados y los muestre al usuario final según el orden determinado por la expresión.

Si una empresa tiene dos resultados casi idénticos, pero el “trabajo A” tiene un costo por clic (CPC) más alto al del “trabajo B”, se puede usar el ranking personalizado para aumentar la visibilidad del “trabajo A” mediante la configuración con pesos del ranking del atributo personalizado de CPC.

Cómo usarlo

El ranking personalizado admite los siguientes símbolos matemáticos: +, -, *, /, ( y ).

Puedes usar los nombres de campo de los atributos personalizados y estos símbolos matemáticos para definir una expresión de ranking personalizado.

Por ejemplo, imagina que tienes dos atributos personalizados: CPC y actualidad. Este último indica hace cuántos días se publicó el trabajo. Ahora, quieres un ranking de los trabajos según CPC y actualidad, en el que CPC conforma el 75% del ranking y la actualidad, el 25%. Puedes crear una expresión de ranking personalizado de la siguiente forma:

(0.75*CPC) + (0.25 *Freshness)

Muestra de código

En el siguiente ejemplo, se crea una expresión de ranking personalizado con dos atributos personalizados, cpc_value y freshness_value, se configura como (cpc_value / 2) - freshness_value.

Java

Consulta Bibliotecas cliente de Cloud Talent Solution para obtener más información sobre cómo instalar y crear un cliente de 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

Consulta Bibliotecas cliente de Cloud Talent Solution para obtener más información sobre cómo instalar y crear un cliente de 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