Struct googapis::google::cloud::talent::v4beta1::ProfileQuery[][src]

pub struct ProfileQuery {
Show 16 fields pub query: String, pub location_filters: Vec<LocationFilter>, pub job_title_filters: Vec<JobTitleFilter>, pub employer_filters: Vec<EmployerFilter>, pub education_filters: Vec<EducationFilter>, pub skill_filters: Vec<SkillFilter>, pub work_experience_filter: Vec<WorkExperienceFilter>, pub time_filters: Vec<TimeFilter>, pub hirable_filter: Option<bool>, pub application_date_filters: Vec<ApplicationDateFilter>, pub application_outcome_notes_filters: Vec<ApplicationOutcomeNotesFilter>, pub application_job_filters: Vec<ApplicationJobFilter>, pub custom_attribute_filter: String, pub candidate_availability_filter: Option<CandidateAvailabilityFilter>, pub availability_filters: Vec<AvailabilityFilter>, pub person_name_filters: Vec<PersonNameFilter>,
}
Expand description

Filters to apply when performing the search query.

Fields

query: String

Keywords to match any text fields of profiles.

For example, “software engineer in Palo Alto”.

location_filters: Vec<LocationFilter>

The location filter specifies geo-regions containing the profiles to search against.

One of [LocationFilter.address][google.cloud.talent.v4beta1.LocationFilter.address] or [LocationFilter.lat_lng][google.cloud.talent.v4beta1.LocationFilter.lat_lng] must be provided or an error is thrown. If both [LocationFilter.address][google.cloud.talent.v4beta1.LocationFilter.address] and [LocationFilter.lat_lng][google.cloud.talent.v4beta1.LocationFilter.lat_lng] are provided, an error is thrown.

The following logic is used to determine which locations in the profile to filter against:

  1. All of the profile’s geocoded [Profile.addresses][google.cloud.talent.v4beta1.Profile.addresses] where [Address.usage][google.cloud.talent.v4beta1.Address.usage] is PERSONAL and [Address.current][google.cloud.talent.v4beta1.Address.current] is true.

  2. If the above set of locations is empty, all of the profile’s geocoded [Profile.addresses][google.cloud.talent.v4beta1.Profile.addresses] where [Address.usage][google.cloud.talent.v4beta1.Address.usage] is CONTACT_INFO_USAGE_UNSPECIFIED and [Address.current][google.cloud.talent.v4beta1.Address.current] is true.

  3. If the above set of locations is empty, all of the profile’s geocoded [Profile.addresses][google.cloud.talent.v4beta1.Profile.addresses] where [Address.usage][google.cloud.talent.v4beta1.Address.usage] is PERSONAL or CONTACT_INFO_USAGE_UNSPECIFIED and [Address.current][google.cloud.talent.v4beta1.Address.current] is not set.

This means that any profiles without any [Profile.addresses][google.cloud.talent.v4beta1.Profile.addresses] that match any of the above criteria will not be included in a search with location filter. Furthermore, any [Profile.addresses][google.cloud.talent.v4beta1.Profile.addresses] where [Address.usage][google.cloud.talent.v4beta1.Address.usage] is WORK or SCHOOL or where [Address.current][google.cloud.talent.v4beta1.Address.current] is false are not considered for location filter.

If a location filter isn’t specified, profiles fitting the other search criteria are retrieved regardless of where they’re located.

If [LocationFilter.negated][google.cloud.talent.v4beta1.LocationFilter.negated] is specified, the result doesn’t contain profiles from that location.

If [LocationFilter.address][google.cloud.talent.v4beta1.LocationFilter.address] is provided, the [LocationType][google.cloud.talent.v4beta1.Location.LocationType], center point (latitude and longitude), and radius are automatically detected by the Google Maps Geocoding API and included as well. If [LocationFilter.address][google.cloud.talent.v4beta1.LocationFilter.address] cannot be geocoded, the filter falls back to keyword search.

If the detected [LocationType][google.cloud.talent.v4beta1.Location.LocationType] is [LocationType.SUB_ADMINISTRATIVE_AREA][google.cloud.talent.v4beta1.Location.LocationType.SUB_ADMINISTRATIVE_AREA], [LocationType.ADMINISTRATIVE_AREA][google.cloud.talent.v4beta1.Location.LocationType.ADMINISTRATIVE_AREA], or [LocationType.COUNTRY][google.cloud.talent.v4beta1.Location.LocationType.COUNTRY], the filter is performed against the detected location name (using exact text matching). Otherwise, the filter is performed against the detected center point and a radius of detected location radius + [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles].

If [LocationFilter.address][google.cloud.talent.v4beta1.LocationFilter.address] is provided, [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] is the additional radius on top of the radius of the location geocoded from [LocationFilter.address][google.cloud.talent.v4beta1.LocationFilter.address]. If [LocationFilter.lat_lng][google.cloud.talent.v4beta1.LocationFilter.lat_lng] is provided, [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] is the only radius that is used.

[LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] is 10 by default. Note that the value of [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] is 0 if it is unset, so the server does not differentiate [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] that is explicitly set to 0 and [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] that is not set. Which means that if [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] is explicitly set to 0, the server will use the default value of [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] which is 10. To work around this and effectively set [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] to 0, we recommend setting [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] to a very small decimal number (such as 0.00001).

If [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles] is negative, an error is thrown.

job_title_filters: Vec<JobTitleFilter>

Job title filter specifies job titles of profiles to match on.

If a job title isn’t specified, profiles with any titles are retrieved.

If multiple values are specified, profiles are retrieved with any of the specified job titles.

If [JobTitleFilter.negated][google.cloud.talent.v4beta1.JobTitleFilter.negated] is specified, the result won’t contain profiles with the job titles.

For example, search for profiles with a job title “Product Manager”.

employer_filters: Vec<EmployerFilter>

Employer filter specifies employers of profiles to match on.

If an employer filter isn’t specified, profiles with any employers are retrieved.

If multiple employer filters are specified, profiles with any matching employers are retrieved.

If [EmployerFilter.negated][google.cloud.talent.v4beta1.EmployerFilter.negated] is specified, the result won’t contain profiles that match the employers.

For example, search for profiles that have working experience at “Google LLC”.

education_filters: Vec<EducationFilter>

Education filter specifies education of profiles to match on.

If an education filter isn’t specified, profiles with any education are retrieved.

If multiple education filters are specified, profiles that match any education filters are retrieved.

If [EducationFilter.negated][google.cloud.talent.v4beta1.EducationFilter.negated] is specified, the result won’t contain profiles that match the educations.

For example, search for profiles with a master degree.

skill_filters: Vec<SkillFilter>

Skill filter specifies skill of profiles to match on.

If a skill filter isn’t specified, profiles with any skills are retrieved.

If multiple skill filters are specified, profiles that match any skill filters are retrieved.

If [SkillFilter.negated][google.cloud.talent.v4beta1.SkillFilter.negated] is specified, the result won’t contain profiles that match the skills.

For example, search for profiles that have “Java” and “Python” in skill list.

work_experience_filter: Vec<WorkExperienceFilter>

Work experience filter specifies the total working experience of profiles to match on.

If a work experience filter isn’t specified, profiles with any professional experience are retrieved.

If multiple work experience filters are specified, profiles that match any work experience filters are retrieved.

For example, search for profiles with 10 years of work experience.

time_filters: Vec<TimeFilter>

Time filter specifies the create/update timestamp of the profiles to match on.

For example, search for profiles created since “2018-1-1”.

hirable_filter: Option<bool>

The hirable filter specifies the profile’s hirable status to match on.

application_date_filters: Vec<ApplicationDateFilter>

The application date filters specify application date ranges to match on.

application_outcome_notes_filters: Vec<ApplicationOutcomeNotesFilter>

The application outcome notes filters specify the notes for the outcome of the job application.

application_job_filters: Vec<ApplicationJobFilter>

The application job filters specify the job applied for in the application.

custom_attribute_filter: String

This filter specifies a structured syntax to match against the [Profile.custom_attributes][google.cloud.talent.v4beta1.Profile.custom_attributes] that are marked as filterable.

The syntax for this expression is a subset of Google SQL syntax.

String custom attributes: supported operators are =, != where the left of the operator is a custom field key and the right of the operator is a string (surrounded by quotes) value.

Numeric custom attributes: Supported operators are ‘>’, ‘<’ or ‘=’ operators where the left of the operator is a custom field key and the right of the operator is a numeric value.

Supported functions are LOWER(<field_name>) to perform case insensitive match and EMPTY(<field_name>) to filter on the existence of a key.

Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example “((A AND B AND C) OR NOT D) AND E”), and there can be a maximum of 50 comparisons/functions in the expression. The expression must be < 2000 characters in length.

Sample Query: (key1 = “TEST” OR LOWER(key1)=“test” OR NOT EMPTY(key1))

candidate_availability_filter: Option<CandidateAvailabilityFilter>
👎 Deprecated

Deprecated. Use availability_filters instead.

The candidate availability filter which filters based on availability signals.

Signal 1: Number of days since most recent job application. See [Availability.JobApplicationAvailabilitySignal][google.cloud.talent.v4beta1.Availability.JobApplicationAvailabilitySignal] for the details of this signal.

Signal 2: Number of days since last profile update. See [Availability.ProfileUpdateAvailabilitySignal][google.cloud.talent.v4beta1.Availability.ProfileUpdateAvailabilitySignal] for the details of this signal.

The candidate availability filter helps a recruiter understand if a specific candidate is likely to be actively seeking new job opportunities based on an aggregated set of signals. Specifically, the intent is NOT to indicate the candidate’s potential qualification / interest / close ability for a specific job.

availability_filters: Vec<AvailabilityFilter>

The availability filter which filters based on [Profile.availability_signals][google.cloud.talent.v4beta1.Profile.availability_signals].

The availability filter helps a recruiter understand if a specific candidate is likely to be actively seeking new job opportunities based on an aggregated set of signals. Specifically, the intent is NOT to indicate the candidate’s potential qualification / interest / close ability for a specific job.

There can be at most one [AvailabilityFilter][google.cloud.talent.v4beta1.AvailabilityFilter] per [signal_type][google.cloud.talent.v4beta1.AvailabilityFilter.signal_type]. If there are multiple [AvailabilityFilter][google.cloud.talent.v4beta1.AvailabilityFilter] for a [signal_type][google.cloud.talent.v4beta1.AvailabilityFilter.signal_type], an error is thrown.

person_name_filters: Vec<PersonNameFilter>

Person name filter specifies person name of profiles to match on.

If multiple person name filters are specified, profiles that match any person name filters are retrieved.

For example, search for profiles of candidates with name “John Smith”.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Returns the encoded length of the message without a length delimiter.

Clears the message, resetting all fields to their default.

Encodes the message to a buffer. Read more

Encodes the message to a newly allocated buffer.

Encodes the message with a length-delimiter to a buffer. Read more

Encodes the message with a length-delimiter to a newly allocated buffer.

Decodes an instance of the message from a buffer. Read more

Decodes a length-delimited instance of the message from the buffer.

Decodes an instance of the message from a buffer, and merges it into self. Read more

Decodes a length-delimited instance of the message from buffer, and merges it into self. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Wrap the input message T in a tonic::Request

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more