Búsqueda por viaje cotidiano

Las solicitudes de búsqueda de trabajos pueden incluir un filtro de tiempo de viaje cotidiano que restringe los trabajos que se muestran a solo aquellos que se encuentran dentro de un tiempo de traslado específico desde un punto de partida. Los resultados incluyen el tiempo estimado de viaje cotidiano en segundos para los trabajos coincidentes.

Para mostrar los trabajos que tengan un tiempo de viaje cotidiano específico, envía una solicitud jobs.search y también incluye un objeto CommuteFilter en el campo JobQuery.commuteFilter. Cloud Talent Solution usa la dirección del trabajo para calcular su tiempo de viaje cotidiano. Si no se proporciona una dirección detallada, Cloud Talent Solution intentará deducirla.

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 void commuteSearch(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");
  JobQuery jobQuery =
      new JobQuery()
          .setCommuteFilter(
              new CommuteFilter()
                  .setRoadTraffic("TRAFFIC_FREE")
                  .setCommuteMethod("TRANSIT")
                  .setTravelDuration("1000s")
                  .setStartCoordinates(
                      new LatLng().setLatitude(37.422408)
                          .setLongitude(-122.085609)));
  if (companyName != null) {
    jobQuery.setCompanyNames(Arrays.asList(companyName));
  }

  SearchJobsRequest searchJobsRequest =
      new SearchJobsRequest()
          .setJobQuery(jobQuery)
          .setRequestMetadata(requestMetadata)
          .setJobView("JOB_VIEW_FULL")
          .setRequirePreciseResultSize(true);
  SearchJobsResponse response =
      talentSolutionClient.projects().jobs().search(DEFAULT_PROJECT_ID, searchJobsRequest)
          .execute();
  System.out.println(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 commute_search(client_service, company_name):
    request_metadata = {
        'user_id': 'HashedUserId',
        'session_id': 'HashedSessionId',
        'domain': 'www.google.com'
    }
    start_location = {'latitude': 37.422408, 'longitude': -122.085609}
    commute_preference = {
        'road_traffic': 'TRAFFIC_FREE',
        'commute_method': 'TRANSIT',
        'travel_duration': '1000s',
        'start_coordinates': start_location
    }
    job_query = {'commute_filter': commute_preference}
    if company_name is not None:
        job_query.update({'company_names': [company_name]})
    request = {
        'job_query': job_query,
        'request_metadata': request_metadata,
        'job_view': 'JOB_VIEW_FULL',
        'require_precise_result_size': True
    }
    response = client_service.projects().jobs().search(
        parent=parent, body=request).execute()
    print(response)

C#

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 void CommuteSearch(string companyName)
{
    RequestMetadata requestMetadata = new RequestMetadata()
    {
        // Make sure to hash your userID
        UserId = "HashedUserId",
        // Make sure to hash the sessionID
        SessionId = "HashedSessionId",
        // Domain of the website where the search is conducted
        Domain = "www.google.com"
    };

    JobQuery jobQuery = new JobQuery()
    {
        CommuteFilter = new CommuteFilter()
        {
            RoadTraffic = "TRAFFIC_FREE",
            CommuteMethod = "TRANSIT",
            TravelDuration = "1000s",
            StartCoordinates = new LatLng()
            {
                Latitude = 37.42208,
                Longitude = -122.085609
            }
        }
    };

    if (companyName != null)
    {
        jobQuery.CompanyNames = new List<string>
        {
            companyName
        };
    }

    SearchJobsRequest searchJobRequest = new SearchJobsRequest()
    {
        RequestMetadata = requestMetadata,
        JobQuery = jobQuery,
        JobView = "JOB_VIEW_FULL",
        RequirePreciseResultSize = true
    };

    SearchJobsResponse searchJobsResponse = jobServiceClient.Projects.Jobs.Search(searchJobRequest, parent).Execute();

    Console.WriteLine("Jobs commute searched: " + ToJsonString(searchJobsResponse));
}

Go

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.

// commuteSearch searches for jobs within commute filter.
func commuteSearch(service *talent.Service, parent string, companyName string) (*talent.SearchJobsResponse, error) {
	// 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",
	}
	jobQuery := &talent.JobQuery{
		CommuteFilter: &talent.CommuteFilter{
			RoadTraffic:    "TRAFFIC_FREE",
			CommuteMethod:  "TRANSIT",
			TravelDuration: "1000s",
			StartCoordinates: &talent.LatLng{
				Latitude:  37.422408,
				Longitude: -122.085609,
			},
		},
	}
	if companyName != "" {
		jobQuery.CompanyNames = []string{companyName}
	}

	searchJobsRequest := &talent.SearchJobsRequest{
		RequestMetadata: requestMetadata,
		// Set the actual search term as defined in the jobQurey
		JobQuery: jobQuery,
		// Set the search mode to a regular search
		SearchMode:               "JOB_SEARCH",
		RequirePreciseResultSize: true,
	}
	resp, err := service.Projects.Jobs.Search(parent, searchJobsRequest).Do()
	if err != nil {
		return nil, fmt.Errorf("failed to search for jobs with commute filter: %v", err)
	}
	return resp, nil
}

Campos obligatorios

  • commuteMethod: El medio de transporte que se usará para calcular el tiempo de viaje cotidiano. Puede ser DRIVING o TRANSIT.

  • travelDuration: El tiempo de viaje máximo en segundos. El valor máximo permitido es 3600s (una hora). El formato es 123s.

  • startCoordinates: La latitud y la longitud de la ubicación desde la cual se calculará el tiempo de viaje. Acepta un objeto LatLng.

Campos opcionales

  • allowImpreciseAddresses: Si su valor es true, es posible que también se muestren trabajos sin direcciones a nivel de calles proporcionadas de manera explícita (o inferidas). En el caso de las direcciones en la ciudad, se usa el centro de esta. En el caso de las direcciones estatales y a otros niveles menos específicos, se usa la coincidencia de texto. Si el campo se configura como false o no se especifica, solo se mostrarán trabajos que incluyan direcciones que tienen una calle en las búsquedas según el viaje cotidiano.

  • roadTraffic: Especifica la densidad del tráfico que se usará para calcular el tiempo de viaje cotidiano. Las opciones son TRAFFIC_FREE o BUSY_HOUR. No debe estar presente si se especifica departureHourLocal.

  • departureTime: La hora de salida que se usa para calcular el efecto del tráfico. Acepta un número entero de 0 a 23, que representa la hora en la zona horaria de la ubicación startLocation. No debe estar presente si se especifica roadTraffic.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de la búsqueda de trabajo