Example #1
0
        /// <summary>Snippet for SearchJobs</summary>
        public void SearchJobs_RequestObject()
        {
            // Snippet: SearchJobs(SearchJobsRequest,CallSettings)
            // Create client
            JobServiceClient jobServiceClient = JobServiceClient.Create();
            // Initialize request argument(s)
            SearchJobsRequest request = new SearchJobsRequest
            {
                ParentAsTenantOrProjectNameOneof = TenantOrProjectNameOneof.From(new TenantName("[PROJECT]", "[TENANT]")),
                RequestMetadata = new RequestMetadata(),
            };
            // Make the request
            PagedEnumerable <SearchJobsResponse, MatchingJob> response =
                jobServiceClient.SearchJobs(request);

            // Iterate over all response items, lazily performing RPCs as required
            foreach (SearchJobsResponse.Types.MatchingJob item in response)
            {
                // Do something with each item
                Console.WriteLine(item);
            }

            // Or iterate over pages (of server-defined size), performing one RPC per page
            foreach (SearchJobsResponse page in response.AsRawResponses())
            {
                // Do something with each page of items
                Console.WriteLine("A page of results:");
                foreach (SearchJobsResponse.Types.MatchingJob item in page)
                {
                    Console.WriteLine(item);
                }
            }

            // Or retrieve a single page of known size (unless it's the final page), performing as many RPCs as required
            int pageSize = 10;
            Page <SearchJobsResponse.Types.MatchingJob> singlePage = response.ReadPage(pageSize);

            // Do something with the page of items
            Console.WriteLine($"A page of {pageSize} results (unless it's the final page):");
            foreach (SearchJobsResponse.Types.MatchingJob item in singlePage)
            {
                Console.WriteLine(item);
            }
            // Store the pageToken, for when the next page is required.
            string nextPageToken = singlePage.NextPageToken;
            // End snippet
        }
        // [START job_search_custom_ranking_search]
        public static object CustomRankingSearch(string projectId, string tenantId)
        {
            JobServiceClient jobServiceClient = JobServiceClient.Create();
            TenantName       name             = new TenantName(projectId, tenantId);

            string          domain          = "www.example.com";
            string          sessionId       = "Hashed session identifier";
            string          userId          = "Hashed user identifier";
            RequestMetadata requestMetadata = new RequestMetadata
            {
                Domain    = domain,
                SessionId = sessionId,
                UserId    = userId
            };

            CustomRankingInfo customRankingInfo = new CustomRankingInfo
            {
                ImportanceLevel = ImportanceLevel.Extreme,
                // Custom ranking supports math operators, and Field name can be CPC or Freshness
                // https://cloud.google.com/talent-solution/job-search/docs/custom-ranking#how_to_use
                RankingExpression = "(someFieldLong + 25) * 0.25"
            };
            string orderBy = "custom_ranking desc";

            SearchJobsRequest request = new SearchJobsRequest
            {
                ParentAsTenantOrProjectNameOneof = TenantOrProjectNameOneof.From(name),
                CustomRankingInfo = customRankingInfo,
                RequestMetadata   = requestMetadata,
                OrderBy           = orderBy
            };

            var response = jobServiceClient.SearchJobs(request);

            foreach (var result in response)
            {
                Console.WriteLine($"Job summary: {result.JobSummary}");
                Console.WriteLine($"Job title snippet: {result.JobTitleSnippet}");
                Job job = result.Job;
                Console.WriteLine($"Job name: {job.Name}");
                Console.WriteLine($"Job title: {job.Title}");
            }

            return(0);
        }
Example #3
0
        // [START job_search_histogram_search]
        public static object HistogramSearchJobs(string projectId, string tenantId, string query)
        {
            JobServiceClient jobServiceClient = JobServiceClient.Create();
            TenantName       name             = TenantName.FromProjectTenant(projectId, tenantId);

            string          domain          = "www.example.com";
            string          sessionId       = "Hashed session identifier";
            string          userId          = "Hashed user identifier";
            RequestMetadata requestMetadata = new RequestMetadata
            {
                Domain    = domain,
                SessionId = sessionId,
                UserId    = userId
            };

            // Examples and formats are explained in the following link:
            // https://cloud.google.com/talent-solution/job-search/docs/reference/rest/v4beta1/projects.tenants.jobs/search#body.request_body.FIELDS.histogram_queries
            HistogramQuery histogramQuery = new HistogramQuery
            {
                HistogramQuery_ = query
            };

            SearchJobsRequest request = new SearchJobsRequest
            {
                ParentAsTenantName = name,
                RequestMetadata    = requestMetadata,
            };

            request.HistogramQueries.Add(histogramQuery);

            var response = jobServiceClient.SearchJobs(request);

            foreach (var result in response)
            {
                Console.WriteLine($"Job summary: {result.JobSummary}");
                Console.WriteLine($"Job title snippet: {result.JobTitleSnippet}");
                Job job = result.Job;
                Console.WriteLine($"Job name: {job.Name}");
                Console.WriteLine($"Job title: {job.Title}");
            }

            return(0);
        }
Example #4
0
        // [START job_search_commute_search]
        public static object CommuteSearchJobs(string projectId, string tenantId)
        {
            JobServiceClient jobServiceClient = JobServiceClient.Create();
            TenantName       name             = TenantName.FromProjectTenant(projectId, tenantId);

            string          domain          = "www.example.com";
            string          sessionId       = "Hashed session identifier";
            string          userId          = "Hashed user identifier";
            RequestMetadata requestMetadata = new RequestMetadata
            {
                Domain    = domain,
                SessionId = sessionId,
                UserId    = userId
            };

            CommuteMethod commuteMethod  = CommuteMethod.Driving;
            long          seconds        = 3600L;
            Duration      travelDuration = new Duration
            {
                Seconds = seconds
            };

            double latitude         = 37.422408;
            double longitude        = -122.084068;
            LatLng startCoordinates = new LatLng
            {
                Latitude  = latitude,
                Longitude = longitude
            };

            CommuteFilter commuteFilter = new CommuteFilter
            {
                CommuteMethod    = commuteMethod,
                TravelDuration   = travelDuration,
                StartCoordinates = startCoordinates
            };

            JobQuery jobQuery = new JobQuery
            {
                CommuteFilter = commuteFilter
            };

            SearchJobsRequest request = new SearchJobsRequest
            {
                ParentAsTenantName = name,
                RequestMetadata    = requestMetadata,
                JobQuery           = jobQuery
            };

            var response = jobServiceClient.SearchJobs(request);

            foreach (var result in response)
            {
                Console.WriteLine($"Job summary: {result.JobSummary}");
                Console.WriteLine($"Job title snippet: {result.JobTitleSnippet}");
                Job job = result.Job;
                Console.WriteLine($"Job name: {job.Name}");
                Console.WriteLine($"Job title: {job.Title}");
            }

            return(0);
        }