A service handles job management, including job CRUD, enumeration and search.
Constructor
new JobServiceClient(optionsopt)
Construct an instance of JobServiceClient.
Parameters:
Name
Type
Attributes
Description
options
object
<optional>
The configuration object. See the subsequent
parameters for more details.
Properties
Name
Type
Attributes
Description
credentials
object
<optional>
Credentials object.
Properties
Name
Type
Attributes
Description
client_email
string
<optional>
private_key
string
<optional>
email
string
<optional>
Account email address. Required when
using a .pem or .p12 keyFilename.
keyFilename
string
<optional>
Full path to the a .json, .pem, or
.p12 key downloaded from the Google Developers Console. If you provide
a path to a JSON file, the projectId option below is not necessary.
NOTE: .pem and .p12 require you to specify options.email as well.
port
number
<optional>
The port on which to connect to
the remote host.
projectId
string
<optional>
The project ID from the Google
Developer's Console, e.g. 'grape-spaceship-123'. We will also check
the environment variable GCLOUD_PROJECT for your project ID. If your
app is running in an environment which supports
Application Default Credentials,
your project ID will be detected automatically.
promise
function
<optional>
Custom promise module to use instead
of native Promises.
Required. The resource name of the tenant under which the job is created.
The format is "projects/{project_id}/tenants/{tenant_id}". For example,
"projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
is created. For example, "projects/foo".
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
callback
function
<optional>
The function which will be called with the result of the API call.
The second parameter to the callback is a gax.Operation object.
Required. The resource name of the tenant under which the job is created.
The format is "projects/{project_id}/tenants/{tenant_id}". For example,
"projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
is created. For example, "projects/foo".
filter
string
Required. The filter string specifies the jobs to be deleted.
Supported operator: =, AND
The fields eligible for filtering are:
companyName (Required)
requisitionId (Required)
Sample Query: companyName = "projects/foo/companies/bar" AND
requisitionId = "req-1"
options
Object
<optional>
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
callback
function
<optional>
The function which will be called with the result of the API call.
Required. The resource name of the tenant under which the job is created.
The format is "projects/{project_id}/tenants/{tenant_id}". For example,
"projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
is created. For example, "projects/foo".
Strongly recommended for the best service experience. Be aware that it will
also increase latency when checking the status of a batch operation.
If update_mask is provided, only the specified fields in
Job are updated. Otherwise all the fields are updated.
A field mask to restrict the fields that are updated. Only
top level fields of Job are supported.
If update_mask is provided, The Job inside
JobResult
will only contains fields that is updated, plus the Id of the Job.
Otherwise, Job will include all fields, which can yield a very
large response.
This object should have the same structure as FieldMask
options
Object
<optional>
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
callback
function
<optional>
The function which will be called with the result of the API call.
The second parameter to the callback is a gax.Operation object.
Typically, the job becomes searchable within 10 seconds, but it may take
up to 5 minutes.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Description
parent
string
Required. The resource name of the tenant under which the job is created.
The format is "projects/{project_id}/tenants/{tenant_id}". For example,
"projects/foo/tenant/bar". If tenant id is unspecified a default tenant
is created. For example, "projects/foo".
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
callback
function
<optional>
The function which will be called with the result of the API call.
The second parameter to the callback is an object representing Job.
Typically, the job becomes unsearchable within 10 seconds, but it may take
up to 5 minutes.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Description
name
string
Required. The resource name of the job to be deleted.
The format is
"projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
example, "projects/foo/tenants/bar/jobs/baz".
If tenant id is unspecified, the default tenant is used. For
example, "projects/foo/jobs/bar".
options
Object
<optional>
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
callback
function
<optional>
The function which will be called with the result of the API call.
Retrieves the specified job, whose status is OPEN or recently EXPIRED
within the last 90 days.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Description
name
string
Required. The resource name of the job to retrieve.
The format is
"projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
example, "projects/foo/tenants/bar/jobs/baz".
If tenant id is unspecified, the default tenant is used. For
example, "projects/foo/jobs/bar".
options
Object
<optional>
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
callback
function
<optional>
The function which will be called with the result of the API call.
The second parameter to the callback is an object representing Job.
Required. The resource name of the tenant under which the job is created.
The format is "projects/{project_id}/tenants/{tenant_id}". For example,
"projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
is created. For example, "projects/foo".
filter
string
Required. The filter string specifies the jobs to be enumerated.
Supported operator: =, AND
The fields eligible for filtering are:
companyName (Required)
requisitionId
status Available values: OPEN, EXPIRED, ALL. Defaults to
OPEN if no value is specified.
companyName = "projects/foo/tenants/bar/companies/baz" AND
requisitionId = "req-1"
companyName = "projects/foo/tenants/bar/companies/baz" AND
status = "EXPIRED"
pageSize
number
<optional>
The maximum number of resources contained in the underlying API
response. If page streaming is performed per-resource, this
parameter does not affect the return value. If page streaming is
performed per-page, this determines the maximum number of
resources in a page.
jobView
number
<optional>
The desired job attributes returned for jobs in the
search response. Defaults to JobView.JOB_VIEW_FULL if no value is
specified.
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
callback
function
<optional>
The function which will be called with the result of the API call.
The second parameter to the callback is Array of Job.
When autoPaginate: false is specified through options, it contains the result
in a single response. If the response indicates the next page exists, the third
parameter is set to be used for the next request object. The fourth parameter keeps
the raw response object of an object representing ListJobsResponse.
const talent = require('@google-cloud/talent');
const client = new talent.v4beta1.JobServiceClient({
// optional auth parameters.
});
// Iterate over all elements.
const formattedParent = client.tenantPath('[PROJECT]', '[TENANT]');
const filter = '';
const request = {
parent: formattedParent,
filter: filter,
};
client.listJobs(request)
.then(responses => {
const resources = responses[0];
for (const resource of resources) {
// doThingsWith(resource)
}
})
.catch(err => {
console.error(err);
});
// Or obtain the paged response.
const formattedParent = client.tenantPath('[PROJECT]', '[TENANT]');
const filter = '';
const request = {
parent: formattedParent,
filter: filter,
};
const options = {autoPaginate: false};
const callback = responses => {
// The actual resources in a response.
const resources = responses[0];
// The next request if the response shows that there are more responses.
const nextRequest = responses[1];
// The actual response object, if necessary.
// const rawResponse = responses[2];
for (const resource of resources) {
// doThingsWith(resource);
}
if (nextRequest) {
// Fetch the next page.
return client.listJobs(nextRequest, options).then(callback);
}
}
client.listJobs(request, options)
.then(callback)
.catch(err => {
console.error(err);
});
listJobsStream(request, optionsopt) → {Stream}
Equivalent to listJobs, but returns a NodeJS Stream object.
This fetches the paged responses for listJobs continuously
and invokes the callback registered for 'data' event for each element in the
responses.
The returned object has 'end' method when no more elements are required.
autoPaginate option will be ignored.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Attributes
Description
parent
string
Required. The resource name of the tenant under which the job is created.
The format is "projects/{project_id}/tenants/{tenant_id}". For example,
"projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
is created. For example, "projects/foo".
filter
string
Required. The filter string specifies the jobs to be enumerated.
Supported operator: =, AND
The fields eligible for filtering are:
companyName (Required)
requisitionId
status Available values: OPEN, EXPIRED, ALL. Defaults to
OPEN if no value is specified.
companyName = "projects/foo/tenants/bar/companies/baz" AND
requisitionId = "req-1"
companyName = "projects/foo/tenants/bar/companies/baz" AND
status = "EXPIRED"
pageSize
number
<optional>
The maximum number of resources contained in the underlying API
response. If page streaming is performed per-resource, this
parameter does not affect the return value. If page streaming is
performed per-page, this determines the maximum number of
resources in a page.
jobView
number
<optional>
The desired job attributes returned for jobs in the
search response. Defaults to JobView.JOB_VIEW_FULL if no value is
specified.
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
Searches for jobs using the provided SearchJobsRequest.
This call constrains the visibility of jobs
present in the database, and only returns jobs that the caller has
permission to search against.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Attributes
Description
parent
string
Required. The resource name of the tenant to search within.
The format is "projects/{project_id}/tenants/{tenant_id}". For example,
"projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
is created. For example, "projects/foo".
requestMetadata
Object
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.
This object should have the same structure as RequestMetadata
searchMode
number
<optional>
Mode of a search.
Defaults to SearchMode.JOB_SEARCH.
The number should be among the values of SearchMode
jobQuery
Object
<optional>
Query used to search against jobs, such as keyword, location filters, etc.
This object should have the same structure as JobQuery
enableBroadening
boolean
<optional>
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.
requirePreciseResultSize
boolean
<optional>
Controls if the search job request requires the return of a precise
count of the first 300 results. Setting this to true ensures
consistency in the number of results per page. Best practice is to set this
value to true if a client allows users to jump directly to a
non-sequential search results page.
Enabling this flag may adversely impact performance.
Defaults to false.
histogramQueries
Array.<Object>
<optional>
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.
Data types:
Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+.
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: histogram by CompanySize, for example, "SMALL",
"MEDIUM", "BIG".
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.
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.
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).
pageSize
number
<optional>
The maximum number of resources contained in the underlying API
response. If page streaming is performed per-resource, this
parameter does not affect the return value. If page streaming is
performed per-page, this determines the maximum number of
resources in a page.
orderBy
string
<optional>
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.
diversificationLevel
number
<optional>
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.
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.
options
Object
<optional>
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
callback
function
<optional>
The function which will be called with the result of the API call.
The second parameter to the callback is Array of MatchingJob.
When autoPaginate: false is specified through options, it contains the result
in a single response. If the response indicates the next page exists, the third
parameter is set to be used for the next request object. The fourth parameter keeps
the raw response object of an object representing SearchJobsResponse.
Searches for jobs using the provided SearchJobsRequest.
This API call is intended for the use case of targeting passive job
seekers (for example, job seekers who have signed up to receive email
alerts about potential job opportunities), and has different algorithmic
adjustments that are targeted to passive job seekers.
This call constrains the visibility of jobs
present in the database, and only returns jobs the caller has
permission to search against.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Attributes
Description
parent
string
Required. The resource name of the tenant to search within.
The format is "projects/{project_id}/tenants/{tenant_id}". For example,
"projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
is created. For example, "projects/foo".
requestMetadata
Object
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.
This object should have the same structure as RequestMetadata
searchMode
number
<optional>
Mode of a search.
Defaults to SearchMode.JOB_SEARCH.
The number should be among the values of SearchMode
jobQuery
Object
<optional>
Query used to search against jobs, such as keyword, location filters, etc.
This object should have the same structure as JobQuery
enableBroadening
boolean
<optional>
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.
requirePreciseResultSize
boolean
<optional>
Controls if the search job request requires the return of a precise
count of the first 300 results. Setting this to true ensures
consistency in the number of results per page. Best practice is to set this
value to true if a client allows users to jump directly to a
non-sequential search results page.
Enabling this flag may adversely impact performance.
Defaults to false.
histogramQueries
Array.<Object>
<optional>
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.
Data types:
Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+.
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: histogram by CompanySize, for example, "SMALL",
"MEDIUM", "BIG".
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.
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.
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).
pageSize
number
<optional>
The maximum number of resources contained in the underlying API
response. If page streaming is performed per-resource, this
parameter does not affect the return value. If page streaming is
performed per-page, this determines the maximum number of
resources in a page.
orderBy
string
<optional>
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.
diversificationLevel
number
<optional>
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.
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.
options
Object
<optional>
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
callback
function
<optional>
The function which will be called with the result of the API call.
The second parameter to the callback is Array of MatchingJob.
When autoPaginate: false is specified through options, it contains the result
in a single response. If the response indicates the next page exists, the third
parameter is set to be used for the next request object. The fourth parameter keeps
the raw response object of an object representing SearchJobsResponse.
Equivalent to searchJobsForAlert, but returns a NodeJS Stream object.
This fetches the paged responses for searchJobsForAlert continuously
and invokes the callback registered for 'data' event for each element in the
responses.
The returned object has 'end' method when no more elements are required.
autoPaginate option will be ignored.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Attributes
Description
parent
string
Required. The resource name of the tenant to search within.
The format is "projects/{project_id}/tenants/{tenant_id}". For example,
"projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
is created. For example, "projects/foo".
requestMetadata
Object
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.
This object should have the same structure as RequestMetadata
searchMode
number
<optional>
Mode of a search.
Defaults to SearchMode.JOB_SEARCH.
The number should be among the values of SearchMode
jobQuery
Object
<optional>
Query used to search against jobs, such as keyword, location filters, etc.
This object should have the same structure as JobQuery
enableBroadening
boolean
<optional>
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.
requirePreciseResultSize
boolean
<optional>
Controls if the search job request requires the return of a precise
count of the first 300 results. Setting this to true ensures
consistency in the number of results per page. Best practice is to set this
value to true if a client allows users to jump directly to a
non-sequential search results page.
Enabling this flag may adversely impact performance.
Defaults to false.
histogramQueries
Array.<Object>
<optional>
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.
Data types:
Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+.
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: histogram by CompanySize, for example, "SMALL",
"MEDIUM", "BIG".
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.
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.
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).
pageSize
number
<optional>
The maximum number of resources contained in the underlying API
response. If page streaming is performed per-resource, this
parameter does not affect the return value. If page streaming is
performed per-page, this determines the maximum number of
resources in a page.
orderBy
string
<optional>
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.
diversificationLevel
number
<optional>
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.
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.
options
Object
<optional>
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
Equivalent to searchJobs, but returns a NodeJS Stream object.
This fetches the paged responses for searchJobs continuously
and invokes the callback registered for 'data' event for each element in the
responses.
The returned object has 'end' method when no more elements are required.
autoPaginate option will be ignored.
Parameters:
Name
Type
Attributes
Description
request
Object
The request object that will be sent.
Properties
Name
Type
Attributes
Description
parent
string
Required. The resource name of the tenant to search within.
The format is "projects/{project_id}/tenants/{tenant_id}". For example,
"projects/foo/tenant/bar". If tenant id is unspecified, a default tenant
is created. For example, "projects/foo".
requestMetadata
Object
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.
This object should have the same structure as RequestMetadata
searchMode
number
<optional>
Mode of a search.
Defaults to SearchMode.JOB_SEARCH.
The number should be among the values of SearchMode
jobQuery
Object
<optional>
Query used to search against jobs, such as keyword, location filters, etc.
This object should have the same structure as JobQuery
enableBroadening
boolean
<optional>
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.
requirePreciseResultSize
boolean
<optional>
Controls if the search job request requires the return of a precise
count of the first 300 results. Setting this to true ensures
consistency in the number of results per page. Best practice is to set this
value to true if a client allows users to jump directly to a
non-sequential search results page.
Enabling this flag may adversely impact performance.
Defaults to false.
histogramQueries
Array.<Object>
<optional>
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.
Data types:
Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+.
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: histogram by CompanySize, for example, "SMALL",
"MEDIUM", "BIG".
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.
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.
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).
pageSize
number
<optional>
The maximum number of resources contained in the underlying API
response. If page streaming is performed per-resource, this
parameter does not affect the return value. If page streaming is
performed per-page, this determines the maximum number of
resources in a page.
orderBy
string
<optional>
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.
diversificationLevel
number
<optional>
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.
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.
options
Object
<optional>
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
Strongly recommended for the best service experience.
If update_mask is provided, only the specified fields in
job are updated. Otherwise all the fields are updated.
A field mask to restrict the fields that are updated. Only
top level fields of Job are supported.
This object should have the same structure as FieldMask
options
Object
<optional>
Optional parameters. You can override the default settings for this call, e.g, timeout,
retries, paginations, etc. See gax.CallOptions for the details.
callback
function
<optional>
The function which will be called with the result of the API call.
The second parameter to the callback is an object representing Job.