
com.google.api.services.jobs.v4.model.SearchJobsRequest Maven / Gradle / Ivy
/*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/
/*
* This code was generated by https://github.com/googleapis/google-api-java-client-services/
* Modify at your own risk.
*/
package com.google.api.services.jobs.v4.model;
/**
* The Request body of the `SearchJobs` call.
*
* This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the Cloud Talent Solution API. For a detailed explanation
* see:
* https://developers.google.com/api-client-library/java/google-http-java-client/json
*
*
* @author Google, Inc.
*/
@SuppressWarnings("javadoc")
public final class SearchJobsRequest extends com.google.api.client.json.GenericJson {
/**
* Controls over how job documents get ranked on top of existing relevance score (determined by
* API algorithm).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private CustomRankingInfo customRankingInfo;
/**
* This field is deprecated. Please use SearchJobsRequest.keyword_match_mode going forward. To
* migrate, disable_keyword_match set to false maps to KeywordMatchMode.KEYWORD_MATCH_ALL, and
* disable_keyword_match set to true maps to KeywordMatchMode.KEYWORD_MATCH_DISABLED. If
* SearchJobsRequest.keyword_match_mode is set, this field is ignored. Controls whether to disable
* exact keyword match on Job.title, Job.description, Job.company_display_name, Job.addresses,
* Job.qualifications. When disable keyword match is turned off, a keyword match returns jobs that
* do not match given category filters when there are matching keywords. For example, for the
* query "program manager," a result is returned even if the job posting has the title "software
* developer," which doesn't fall into "program manager" ontology, but does have "program manager"
* appearing in its description. For queries like "cloud" that don't contain title or location
* specific ontology, jobs with "cloud" keyword matches are returned regardless of this flag's
* value. Use Company.keyword_searchable_job_custom_attributes if company-specific globally
* matched custom field/attribute string values are needed. Enabling keyword match improves recall
* of subsequent search requests. Defaults to false.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean disableKeywordMatch;
/**
* Controls whether highly similar jobs are returned next to each other in the search results.
* Jobs are identified as highly similar based on their titles, job categories, and locations.
* Highly similar results are clustered so that only one representative job of the cluster is
* displayed to the job seeker higher up in the results, with the other jobs being displayed lower
* down in the results. Defaults to DiversificationLevel.SIMPLE if no value is specified.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String diversificationLevel;
/**
* Controls whether to broaden the search when it produces sparse results. Broadened queries
* append results to the end of the matching results list. Defaults to false.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Boolean enableBroadening;
/**
* An expression specifies a histogram request against matching jobs. Expression syntax is an
* aggregation function call with histogram facets and other options. Available aggregation
* function calls are: * `count(string_histogram_facet)`: Count the number of matching entities,
* for each distinct attribute value. * `count(numeric_histogram_facet, list of buckets)`: Count
* the number of matching entities within each bucket. A maximum of 200 histogram buckets are
* supported. Data types: * Histogram facet: facet names with format `a-zA-Z+`. * String: string
* like "any string with backslash escape for quote(\")." * Number: whole number and floating
* point number like 10, -1 and -0.01. * List: list of elements with comma(,) separator surrounded
* by square brackets, for example, [1, 2, 3] and ["one", "two", "three"]. Built-in constants: *
* MIN (minimum number similar to java Double.MIN_VALUE) * MAX (maximum number similar to java
* Double.MAX_VALUE) Built-in functions: * bucket(start, end[, label]): bucket built-in function
* creates a bucket with range of start, end). Note that the end is exclusive, for example,
* bucket(1, MAX, "positive number") or bucket(1, 10). Job histogram facets: *
* company_display_name: histogram by [Job.company_display_name. * employment_type: histogram by
* Job.employment_types, for example, "FULL_TIME", "PART_TIME". * company_size (DEPRECATED):
* histogram by CompanySize, for example, "SMALL", "MEDIUM", "BIG". * publish_time_in_day:
* histogram by the Job.posting_publish_time in days. Must specify list of numeric buckets in
* spec. * publish_time_in_month: histogram by the Job.posting_publish_time in months. Must
* specify list of numeric buckets in spec. * publish_time_in_year: histogram by the
* Job.posting_publish_time in years. Must specify list of numeric buckets in spec. *
* degree_types: histogram by the Job.degree_types, for example, "Bachelors", "Masters". *
* job_level: histogram by the Job.job_level, for example, "Entry Level". * country: histogram by
* the country code of jobs, for example, "US", "FR". * admin1: histogram by the admin1 code of
* jobs, which is a global placeholder referring to the state, province, or the particular term a
* country uses to define the geographic structure below the country level, for example, "CA",
* "IL". * city: histogram by a combination of the "city name, admin1 code". For example,
* "Mountain View, CA", "New York, NY". * admin1_country: histogram by a combination of the
* "admin1 code, country", for example, "CA, US", "IL, US". * city_coordinate: histogram by the
* city center's GPS coordinates (latitude and longitude), for example, 37.4038522,-122.0987765.
* Since the coordinates of a city center can change, customers may need to refresh them
* periodically. * locale: histogram by the Job.language_code, for example, "en-US", "fr-FR". *
* language: histogram by the language subtag of the Job.language_code, for example, "en", "fr". *
* category: histogram by the JobCategory, for example, "COMPUTER_AND_IT", "HEALTHCARE". *
* base_compensation_unit: histogram by the CompensationInfo.CompensationUnit of base salary, for
* example, "WEEKLY", "MONTHLY". * base_compensation: histogram by the base salary. Must specify
* list of numeric buckets to group results by. * annualized_base_compensation: histogram by the
* base annualized salary. Must specify list of numeric buckets to group results by. *
* annualized_total_compensation: histogram by the total annualized salary. Must specify list of
* numeric buckets to group results by. * string_custom_attribute: histogram by string
* Job.custom_attributes. Values can be accessed via square bracket notations like
* string_custom_attribute["key1"]. * numeric_custom_attribute: histogram by numeric
* Job.custom_attributes. Values can be accessed via square bracket notations like
* numeric_custom_attribute["key1"]. Must specify list of numeric buckets to group results by.
* Example expressions: * `count(admin1)` * `count(base_compensation, [bucket(1000, 10000),
* bucket(10000, 100000), bucket(100000, MAX)])` * `count(string_custom_attribute["some-string-
* custom-attribute"])` * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
* [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List histogramQueries;
static {
// hack to force ProGuard to consider HistogramQuery used, since otherwise it would be stripped out
// see https://github.com/google/google-api-java-client/issues/543
com.google.api.client.util.Data.nullOf(HistogramQuery.class);
}
/**
* Query used to search against jobs, such as keyword, location filters, etc.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private JobQuery jobQuery;
/**
* The desired job attributes returned for jobs in the search response. Defaults to
* JobView.JOB_VIEW_SMALL if no value is specified.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String jobView;
/**
* Controls what keyword match options to use. If both keyword_match_mode and
* disable_keyword_match are set, keyword_match_mode will take precedence. Defaults to
* KeywordMatchMode.KEYWORD_MATCH_ALL if no value is specified.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String keywordMatchMode;
/**
* A limit on the number of jobs returned in the search results. Increasing this value above the
* default value of 10 can increase search response time. The value can be between 1 and 100.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Integer maxPageSize;
/**
* An integer that specifies the current offset (that is, starting result location, amongst the
* jobs deemed by the API as relevant) in search results. This field is only considered if
* page_token is unset. The maximum allowed value is 5000. Otherwise an error is thrown. For
* example, 0 means to return results starting from the first matching job, and 10 means to return
* from the 11th job. This can be used for pagination, (for example, pageSize = 10 and offset = 10
* means to return from the second page).
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.Integer offset;
/**
* The criteria determining how search results are sorted. Default is `"relevance desc"`.
* Supported options are: * `"relevance desc"`: By relevance descending, as determined by the API
* algorithms. Relevance thresholding of query results is only available with this ordering. *
* `"posting_publish_time desc"`: By Job.posting_publish_time descending. * `"posting_update_time
* desc"`: By Job.posting_update_time descending. * `"title"`: By Job.title ascending. * `"title
* desc"`: By Job.title descending. * `"annualized_base_compensation"`: By job's
* CompensationInfo.annualized_base_compensation_range ascending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. *
* `"annualized_base_compensation desc"`: By job's
* CompensationInfo.annualized_base_compensation_range descending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. *
* `"annualized_total_compensation"`: By job's
* CompensationInfo.annualized_total_compensation_range ascending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. *
* `"annualized_total_compensation desc"`: By job's
* CompensationInfo.annualized_total_compensation_range descending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. * `"custom_ranking desc"`: By
* the relevance score adjusted to the SearchJobsRequest.CustomRankingInfo.ranking_expression with
* weight factor assigned by SearchJobsRequest.CustomRankingInfo.importance_level in descending
* order. * Location sorting: Use the special syntax to order jobs by distance:
* `"distance_from('Hawaii')"`: Order by distance from Hawaii. `"distance_from(19.89, 155.5)"`:
* Order by distance from a coordinate. `"distance_from('Hawaii'), distance_from('Puerto Rico')"`:
* Order by multiple locations. See details below. `"distance_from('Hawaii'), distance_from(19.89,
* 155.5)"`: Order by multiple locations. See details below. The string can have a maximum of 256
* characters. When multiple distance centers are provided, a job that is close to any of the
* distance centers would have a high rank. When a job has multiple locations, the job location
* closest to one of the distance centers will be used. Jobs that don't have locations will be
* ranked at the bottom. Distance is calculated with a precision of 11.3 meters (37.4 feet).
* Diversification strategy is still applied unless explicitly disabled in diversification_level.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String orderBy;
/**
* The token specifying the current offset within search results. See
* SearchJobsResponse.next_page_token for an explanation of how to obtain the next set of query
* results.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String pageToken;
/**
* Required. The meta information collected about the job searcher, used to improve the search
* quality of the service. The identifiers (such as `user_id`) are provided by users, and must be
* unique and consistent.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private RequestMetadata requestMetadata;
/**
* Mode of a search. Defaults to SearchMode.JOB_SEARCH.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String searchMode;
/**
* Controls over how job documents get ranked on top of existing relevance score (determined by
* API algorithm).
* @return value or {@code null} for none
*/
public CustomRankingInfo getCustomRankingInfo() {
return customRankingInfo;
}
/**
* Controls over how job documents get ranked on top of existing relevance score (determined by
* API algorithm).
* @param customRankingInfo customRankingInfo or {@code null} for none
*/
public SearchJobsRequest setCustomRankingInfo(CustomRankingInfo customRankingInfo) {
this.customRankingInfo = customRankingInfo;
return this;
}
/**
* This field is deprecated. Please use SearchJobsRequest.keyword_match_mode going forward. To
* migrate, disable_keyword_match set to false maps to KeywordMatchMode.KEYWORD_MATCH_ALL, and
* disable_keyword_match set to true maps to KeywordMatchMode.KEYWORD_MATCH_DISABLED. If
* SearchJobsRequest.keyword_match_mode is set, this field is ignored. Controls whether to disable
* exact keyword match on Job.title, Job.description, Job.company_display_name, Job.addresses,
* Job.qualifications. When disable keyword match is turned off, a keyword match returns jobs that
* do not match given category filters when there are matching keywords. For example, for the
* query "program manager," a result is returned even if the job posting has the title "software
* developer," which doesn't fall into "program manager" ontology, but does have "program manager"
* appearing in its description. For queries like "cloud" that don't contain title or location
* specific ontology, jobs with "cloud" keyword matches are returned regardless of this flag's
* value. Use Company.keyword_searchable_job_custom_attributes if company-specific globally
* matched custom field/attribute string values are needed. Enabling keyword match improves recall
* of subsequent search requests. Defaults to false.
* @return value or {@code null} for none
*/
public java.lang.Boolean getDisableKeywordMatch() {
return disableKeywordMatch;
}
/**
* This field is deprecated. Please use SearchJobsRequest.keyword_match_mode going forward. To
* migrate, disable_keyword_match set to false maps to KeywordMatchMode.KEYWORD_MATCH_ALL, and
* disable_keyword_match set to true maps to KeywordMatchMode.KEYWORD_MATCH_DISABLED. If
* SearchJobsRequest.keyword_match_mode is set, this field is ignored. Controls whether to disable
* exact keyword match on Job.title, Job.description, Job.company_display_name, Job.addresses,
* Job.qualifications. When disable keyword match is turned off, a keyword match returns jobs that
* do not match given category filters when there are matching keywords. For example, for the
* query "program manager," a result is returned even if the job posting has the title "software
* developer," which doesn't fall into "program manager" ontology, but does have "program manager"
* appearing in its description. For queries like "cloud" that don't contain title or location
* specific ontology, jobs with "cloud" keyword matches are returned regardless of this flag's
* value. Use Company.keyword_searchable_job_custom_attributes if company-specific globally
* matched custom field/attribute string values are needed. Enabling keyword match improves recall
* of subsequent search requests. Defaults to false.
* @param disableKeywordMatch disableKeywordMatch or {@code null} for none
*/
public SearchJobsRequest setDisableKeywordMatch(java.lang.Boolean disableKeywordMatch) {
this.disableKeywordMatch = disableKeywordMatch;
return this;
}
/**
* Controls whether highly similar jobs are returned next to each other in the search results.
* Jobs are identified as highly similar based on their titles, job categories, and locations.
* Highly similar results are clustered so that only one representative job of the cluster is
* displayed to the job seeker higher up in the results, with the other jobs being displayed lower
* down in the results. Defaults to DiversificationLevel.SIMPLE if no value is specified.
* @return value or {@code null} for none
*/
public java.lang.String getDiversificationLevel() {
return diversificationLevel;
}
/**
* Controls whether highly similar jobs are returned next to each other in the search results.
* Jobs are identified as highly similar based on their titles, job categories, and locations.
* Highly similar results are clustered so that only one representative job of the cluster is
* displayed to the job seeker higher up in the results, with the other jobs being displayed lower
* down in the results. Defaults to DiversificationLevel.SIMPLE if no value is specified.
* @param diversificationLevel diversificationLevel or {@code null} for none
*/
public SearchJobsRequest setDiversificationLevel(java.lang.String diversificationLevel) {
this.diversificationLevel = diversificationLevel;
return this;
}
/**
* Controls whether to broaden the search when it produces sparse results. Broadened queries
* append results to the end of the matching results list. Defaults to false.
* @return value or {@code null} for none
*/
public java.lang.Boolean getEnableBroadening() {
return enableBroadening;
}
/**
* Controls whether to broaden the search when it produces sparse results. Broadened queries
* append results to the end of the matching results list. Defaults to false.
* @param enableBroadening enableBroadening or {@code null} for none
*/
public SearchJobsRequest setEnableBroadening(java.lang.Boolean enableBroadening) {
this.enableBroadening = enableBroadening;
return this;
}
/**
* An expression specifies a histogram request against matching jobs. Expression syntax is an
* aggregation function call with histogram facets and other options. Available aggregation
* function calls are: * `count(string_histogram_facet)`: Count the number of matching entities,
* for each distinct attribute value. * `count(numeric_histogram_facet, list of buckets)`: Count
* the number of matching entities within each bucket. A maximum of 200 histogram buckets are
* supported. Data types: * Histogram facet: facet names with format `a-zA-Z+`. * String: string
* like "any string with backslash escape for quote(\")." * Number: whole number and floating
* point number like 10, -1 and -0.01. * List: list of elements with comma(,) separator surrounded
* by square brackets, for example, [1, 2, 3] and ["one", "two", "three"]. Built-in constants: *
* MIN (minimum number similar to java Double.MIN_VALUE) * MAX (maximum number similar to java
* Double.MAX_VALUE) Built-in functions: * bucket(start, end[, label]): bucket built-in function
* creates a bucket with range of start, end). Note that the end is exclusive, for example,
* bucket(1, MAX, "positive number") or bucket(1, 10). Job histogram facets: *
* company_display_name: histogram by [Job.company_display_name. * employment_type: histogram by
* Job.employment_types, for example, "FULL_TIME", "PART_TIME". * company_size (DEPRECATED):
* histogram by CompanySize, for example, "SMALL", "MEDIUM", "BIG". * publish_time_in_day:
* histogram by the Job.posting_publish_time in days. Must specify list of numeric buckets in
* spec. * publish_time_in_month: histogram by the Job.posting_publish_time in months. Must
* specify list of numeric buckets in spec. * publish_time_in_year: histogram by the
* Job.posting_publish_time in years. Must specify list of numeric buckets in spec. *
* degree_types: histogram by the Job.degree_types, for example, "Bachelors", "Masters". *
* job_level: histogram by the Job.job_level, for example, "Entry Level". * country: histogram by
* the country code of jobs, for example, "US", "FR". * admin1: histogram by the admin1 code of
* jobs, which is a global placeholder referring to the state, province, or the particular term a
* country uses to define the geographic structure below the country level, for example, "CA",
* "IL". * city: histogram by a combination of the "city name, admin1 code". For example,
* "Mountain View, CA", "New York, NY". * admin1_country: histogram by a combination of the
* "admin1 code, country", for example, "CA, US", "IL, US". * city_coordinate: histogram by the
* city center's GPS coordinates (latitude and longitude), for example, 37.4038522,-122.0987765.
* Since the coordinates of a city center can change, customers may need to refresh them
* periodically. * locale: histogram by the Job.language_code, for example, "en-US", "fr-FR". *
* language: histogram by the language subtag of the Job.language_code, for example, "en", "fr". *
* category: histogram by the JobCategory, for example, "COMPUTER_AND_IT", "HEALTHCARE". *
* base_compensation_unit: histogram by the CompensationInfo.CompensationUnit of base salary, for
* example, "WEEKLY", "MONTHLY". * base_compensation: histogram by the base salary. Must specify
* list of numeric buckets to group results by. * annualized_base_compensation: histogram by the
* base annualized salary. Must specify list of numeric buckets to group results by. *
* annualized_total_compensation: histogram by the total annualized salary. Must specify list of
* numeric buckets to group results by. * string_custom_attribute: histogram by string
* Job.custom_attributes. Values can be accessed via square bracket notations like
* string_custom_attribute["key1"]. * numeric_custom_attribute: histogram by numeric
* Job.custom_attributes. Values can be accessed via square bracket notations like
* numeric_custom_attribute["key1"]. Must specify list of numeric buckets to group results by.
* Example expressions: * `count(admin1)` * `count(base_compensation, [bucket(1000, 10000),
* bucket(10000, 100000), bucket(100000, MAX)])` * `count(string_custom_attribute["some-string-
* custom-attribute"])` * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
* [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
* @return value or {@code null} for none
*/
public java.util.List getHistogramQueries() {
return histogramQueries;
}
/**
* An expression specifies a histogram request against matching jobs. Expression syntax is an
* aggregation function call with histogram facets and other options. Available aggregation
* function calls are: * `count(string_histogram_facet)`: Count the number of matching entities,
* for each distinct attribute value. * `count(numeric_histogram_facet, list of buckets)`: Count
* the number of matching entities within each bucket. A maximum of 200 histogram buckets are
* supported. Data types: * Histogram facet: facet names with format `a-zA-Z+`. * String: string
* like "any string with backslash escape for quote(\")." * Number: whole number and floating
* point number like 10, -1 and -0.01. * List: list of elements with comma(,) separator surrounded
* by square brackets, for example, [1, 2, 3] and ["one", "two", "three"]. Built-in constants: *
* MIN (minimum number similar to java Double.MIN_VALUE) * MAX (maximum number similar to java
* Double.MAX_VALUE) Built-in functions: * bucket(start, end[, label]): bucket built-in function
* creates a bucket with range of start, end). Note that the end is exclusive, for example,
* bucket(1, MAX, "positive number") or bucket(1, 10). Job histogram facets: *
* company_display_name: histogram by [Job.company_display_name. * employment_type: histogram by
* Job.employment_types, for example, "FULL_TIME", "PART_TIME". * company_size (DEPRECATED):
* histogram by CompanySize, for example, "SMALL", "MEDIUM", "BIG". * publish_time_in_day:
* histogram by the Job.posting_publish_time in days. Must specify list of numeric buckets in
* spec. * publish_time_in_month: histogram by the Job.posting_publish_time in months. Must
* specify list of numeric buckets in spec. * publish_time_in_year: histogram by the
* Job.posting_publish_time in years. Must specify list of numeric buckets in spec. *
* degree_types: histogram by the Job.degree_types, for example, "Bachelors", "Masters". *
* job_level: histogram by the Job.job_level, for example, "Entry Level". * country: histogram by
* the country code of jobs, for example, "US", "FR". * admin1: histogram by the admin1 code of
* jobs, which is a global placeholder referring to the state, province, or the particular term a
* country uses to define the geographic structure below the country level, for example, "CA",
* "IL". * city: histogram by a combination of the "city name, admin1 code". For example,
* "Mountain View, CA", "New York, NY". * admin1_country: histogram by a combination of the
* "admin1 code, country", for example, "CA, US", "IL, US". * city_coordinate: histogram by the
* city center's GPS coordinates (latitude and longitude), for example, 37.4038522,-122.0987765.
* Since the coordinates of a city center can change, customers may need to refresh them
* periodically. * locale: histogram by the Job.language_code, for example, "en-US", "fr-FR". *
* language: histogram by the language subtag of the Job.language_code, for example, "en", "fr". *
* category: histogram by the JobCategory, for example, "COMPUTER_AND_IT", "HEALTHCARE". *
* base_compensation_unit: histogram by the CompensationInfo.CompensationUnit of base salary, for
* example, "WEEKLY", "MONTHLY". * base_compensation: histogram by the base salary. Must specify
* list of numeric buckets to group results by. * annualized_base_compensation: histogram by the
* base annualized salary. Must specify list of numeric buckets to group results by. *
* annualized_total_compensation: histogram by the total annualized salary. Must specify list of
* numeric buckets to group results by. * string_custom_attribute: histogram by string
* Job.custom_attributes. Values can be accessed via square bracket notations like
* string_custom_attribute["key1"]. * numeric_custom_attribute: histogram by numeric
* Job.custom_attributes. Values can be accessed via square bracket notations like
* numeric_custom_attribute["key1"]. Must specify list of numeric buckets to group results by.
* Example expressions: * `count(admin1)` * `count(base_compensation, [bucket(1000, 10000),
* bucket(10000, 100000), bucket(100000, MAX)])` * `count(string_custom_attribute["some-string-
* custom-attribute"])` * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
* [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
* @param histogramQueries histogramQueries or {@code null} for none
*/
public SearchJobsRequest setHistogramQueries(java.util.List histogramQueries) {
this.histogramQueries = histogramQueries;
return this;
}
/**
* Query used to search against jobs, such as keyword, location filters, etc.
* @return value or {@code null} for none
*/
public JobQuery getJobQuery() {
return jobQuery;
}
/**
* Query used to search against jobs, such as keyword, location filters, etc.
* @param jobQuery jobQuery or {@code null} for none
*/
public SearchJobsRequest setJobQuery(JobQuery jobQuery) {
this.jobQuery = jobQuery;
return this;
}
/**
* The desired job attributes returned for jobs in the search response. Defaults to
* JobView.JOB_VIEW_SMALL if no value is specified.
* @return value or {@code null} for none
*/
public java.lang.String getJobView() {
return jobView;
}
/**
* The desired job attributes returned for jobs in the search response. Defaults to
* JobView.JOB_VIEW_SMALL if no value is specified.
* @param jobView jobView or {@code null} for none
*/
public SearchJobsRequest setJobView(java.lang.String jobView) {
this.jobView = jobView;
return this;
}
/**
* Controls what keyword match options to use. If both keyword_match_mode and
* disable_keyword_match are set, keyword_match_mode will take precedence. Defaults to
* KeywordMatchMode.KEYWORD_MATCH_ALL if no value is specified.
* @return value or {@code null} for none
*/
public java.lang.String getKeywordMatchMode() {
return keywordMatchMode;
}
/**
* Controls what keyword match options to use. If both keyword_match_mode and
* disable_keyword_match are set, keyword_match_mode will take precedence. Defaults to
* KeywordMatchMode.KEYWORD_MATCH_ALL if no value is specified.
* @param keywordMatchMode keywordMatchMode or {@code null} for none
*/
public SearchJobsRequest setKeywordMatchMode(java.lang.String keywordMatchMode) {
this.keywordMatchMode = keywordMatchMode;
return this;
}
/**
* A limit on the number of jobs returned in the search results. Increasing this value above the
* default value of 10 can increase search response time. The value can be between 1 and 100.
* @return value or {@code null} for none
*/
public java.lang.Integer getMaxPageSize() {
return maxPageSize;
}
/**
* A limit on the number of jobs returned in the search results. Increasing this value above the
* default value of 10 can increase search response time. The value can be between 1 and 100.
* @param maxPageSize maxPageSize or {@code null} for none
*/
public SearchJobsRequest setMaxPageSize(java.lang.Integer maxPageSize) {
this.maxPageSize = maxPageSize;
return this;
}
/**
* An integer that specifies the current offset (that is, starting result location, amongst the
* jobs deemed by the API as relevant) in search results. This field is only considered if
* page_token is unset. The maximum allowed value is 5000. Otherwise an error is thrown. For
* example, 0 means to return results starting from the first matching job, and 10 means to return
* from the 11th job. This can be used for pagination, (for example, pageSize = 10 and offset = 10
* means to return from the second page).
* @return value or {@code null} for none
*/
public java.lang.Integer getOffset() {
return offset;
}
/**
* An integer that specifies the current offset (that is, starting result location, amongst the
* jobs deemed by the API as relevant) in search results. This field is only considered if
* page_token is unset. The maximum allowed value is 5000. Otherwise an error is thrown. For
* example, 0 means to return results starting from the first matching job, and 10 means to return
* from the 11th job. This can be used for pagination, (for example, pageSize = 10 and offset = 10
* means to return from the second page).
* @param offset offset or {@code null} for none
*/
public SearchJobsRequest setOffset(java.lang.Integer offset) {
this.offset = offset;
return this;
}
/**
* The criteria determining how search results are sorted. Default is `"relevance desc"`.
* Supported options are: * `"relevance desc"`: By relevance descending, as determined by the API
* algorithms. Relevance thresholding of query results is only available with this ordering. *
* `"posting_publish_time desc"`: By Job.posting_publish_time descending. * `"posting_update_time
* desc"`: By Job.posting_update_time descending. * `"title"`: By Job.title ascending. * `"title
* desc"`: By Job.title descending. * `"annualized_base_compensation"`: By job's
* CompensationInfo.annualized_base_compensation_range ascending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. *
* `"annualized_base_compensation desc"`: By job's
* CompensationInfo.annualized_base_compensation_range descending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. *
* `"annualized_total_compensation"`: By job's
* CompensationInfo.annualized_total_compensation_range ascending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. *
* `"annualized_total_compensation desc"`: By job's
* CompensationInfo.annualized_total_compensation_range descending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. * `"custom_ranking desc"`: By
* the relevance score adjusted to the SearchJobsRequest.CustomRankingInfo.ranking_expression with
* weight factor assigned by SearchJobsRequest.CustomRankingInfo.importance_level in descending
* order. * Location sorting: Use the special syntax to order jobs by distance:
* `"distance_from('Hawaii')"`: Order by distance from Hawaii. `"distance_from(19.89, 155.5)"`:
* Order by distance from a coordinate. `"distance_from('Hawaii'), distance_from('Puerto Rico')"`:
* Order by multiple locations. See details below. `"distance_from('Hawaii'), distance_from(19.89,
* 155.5)"`: Order by multiple locations. See details below. The string can have a maximum of 256
* characters. When multiple distance centers are provided, a job that is close to any of the
* distance centers would have a high rank. When a job has multiple locations, the job location
* closest to one of the distance centers will be used. Jobs that don't have locations will be
* ranked at the bottom. Distance is calculated with a precision of 11.3 meters (37.4 feet).
* Diversification strategy is still applied unless explicitly disabled in diversification_level.
* @return value or {@code null} for none
*/
public java.lang.String getOrderBy() {
return orderBy;
}
/**
* The criteria determining how search results are sorted. Default is `"relevance desc"`.
* Supported options are: * `"relevance desc"`: By relevance descending, as determined by the API
* algorithms. Relevance thresholding of query results is only available with this ordering. *
* `"posting_publish_time desc"`: By Job.posting_publish_time descending. * `"posting_update_time
* desc"`: By Job.posting_update_time descending. * `"title"`: By Job.title ascending. * `"title
* desc"`: By Job.title descending. * `"annualized_base_compensation"`: By job's
* CompensationInfo.annualized_base_compensation_range ascending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. *
* `"annualized_base_compensation desc"`: By job's
* CompensationInfo.annualized_base_compensation_range descending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. *
* `"annualized_total_compensation"`: By job's
* CompensationInfo.annualized_total_compensation_range ascending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. *
* `"annualized_total_compensation desc"`: By job's
* CompensationInfo.annualized_total_compensation_range descending. Jobs whose annualized base
* compensation is unspecified are put at the end of search results. * `"custom_ranking desc"`: By
* the relevance score adjusted to the SearchJobsRequest.CustomRankingInfo.ranking_expression with
* weight factor assigned by SearchJobsRequest.CustomRankingInfo.importance_level in descending
* order. * Location sorting: Use the special syntax to order jobs by distance:
* `"distance_from('Hawaii')"`: Order by distance from Hawaii. `"distance_from(19.89, 155.5)"`:
* Order by distance from a coordinate. `"distance_from('Hawaii'), distance_from('Puerto Rico')"`:
* Order by multiple locations. See details below. `"distance_from('Hawaii'), distance_from(19.89,
* 155.5)"`: Order by multiple locations. See details below. The string can have a maximum of 256
* characters. When multiple distance centers are provided, a job that is close to any of the
* distance centers would have a high rank. When a job has multiple locations, the job location
* closest to one of the distance centers will be used. Jobs that don't have locations will be
* ranked at the bottom. Distance is calculated with a precision of 11.3 meters (37.4 feet).
* Diversification strategy is still applied unless explicitly disabled in diversification_level.
* @param orderBy orderBy or {@code null} for none
*/
public SearchJobsRequest setOrderBy(java.lang.String orderBy) {
this.orderBy = orderBy;
return this;
}
/**
* The token specifying the current offset within search results. See
* SearchJobsResponse.next_page_token for an explanation of how to obtain the next set of query
* results.
* @return value or {@code null} for none
*/
public java.lang.String getPageToken() {
return pageToken;
}
/**
* The token specifying the current offset within search results. See
* SearchJobsResponse.next_page_token for an explanation of how to obtain the next set of query
* results.
* @param pageToken pageToken or {@code null} for none
*/
public SearchJobsRequest setPageToken(java.lang.String pageToken) {
this.pageToken = pageToken;
return this;
}
/**
* Required. The meta information collected about the job searcher, used to improve the search
* quality of the service. The identifiers (such as `user_id`) are provided by users, and must be
* unique and consistent.
* @return value or {@code null} for none
*/
public RequestMetadata getRequestMetadata() {
return requestMetadata;
}
/**
* Required. The meta information collected about the job searcher, used to improve the search
* quality of the service. The identifiers (such as `user_id`) are provided by users, and must be
* unique and consistent.
* @param requestMetadata requestMetadata or {@code null} for none
*/
public SearchJobsRequest setRequestMetadata(RequestMetadata requestMetadata) {
this.requestMetadata = requestMetadata;
return this;
}
/**
* Mode of a search. Defaults to SearchMode.JOB_SEARCH.
* @return value or {@code null} for none
*/
public java.lang.String getSearchMode() {
return searchMode;
}
/**
* Mode of a search. Defaults to SearchMode.JOB_SEARCH.
* @param searchMode searchMode or {@code null} for none
*/
public SearchJobsRequest setSearchMode(java.lang.String searchMode) {
this.searchMode = searchMode;
return this;
}
@Override
public SearchJobsRequest set(String fieldName, Object value) {
return (SearchJobsRequest) super.set(fieldName, value);
}
@Override
public SearchJobsRequest clone() {
return (SearchJobsRequest) super.clone();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy