Class ProfileQuery (0.4.0)

Filters to apply when performing the search query.

The location filter specifies geo-regions containing the profiles to search against. One of [LocationFilter.address][g oogle.cloud.talent.v4beta1.LocationFilter.address] or [Locatio nFilter.lat_lng][google.cloud.talent.v4beta1.LocationFilter.l at_lng] must be provided or an error is thrown. If both [Loca tionFilter.address][google.cloud.talent.v4beta1.LocationFilter .address] and [LocationFilter.lat_lng][google.cloud.talent.v4 beta1.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.v4b eta1.Profile.addresses] where Address.usage is PERSONAL and Address.current is true. 2. If the above set of locations is empty, all of the profile's geocoded [Profile.addresses][google.cloud.talent.v4b eta1.Profile.addresses] where Address.usage is CONTACT_INFO_USAGE_UNSPECIFIED and Address.current is true. 3. If the above set of locations is empty, all of the profile's geocoded [Profile.addresses][google.cloud.talent.v4b eta1.Profile.addresses] where Address.usage is PERSONAL or CONTACT_INFO_USAGE_UNSPECIFIED and 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.address es][google.cloud.talent.v4beta1.Profile.addresses] where Address.usage is WORK or SCHOOL or where 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.v4be ta1.LocationFilter.negated] is specified, the result doesn't contain profiles from that location. If [LocationFilter.addre ss][google.cloud.talent.v4beta1.LocationFilter.address] is provided, the [LocationType][google.cloud.talent.v4beta1.Locat ion.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.c loud.talent.v4beta1.LocationFilter.address] cannot be geocoded, the filter falls back to keyword search. If the detected [LocationType][google.cloud.talent.v4beta1.Location.L ocationType] is [LocationType.SUB_ADMINISTRATIVE_AREA][googl e.cloud.talent.v4beta1.Location.LocationType.SUB_ADMINISTRATI VE_AREA], [LocationType.ADMINISTRATIVE_AREA][google.cloud.ta lent.v4beta1.Location.LocationType.ADMINISTRATIVE_AREA], or [ LocationType.COUNTRY][google.cloud.talent.v4beta1.Location.Loc ationType.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.distanc e_in_miles][google.cloud.talent.v4beta1.LocationFilter.dista nce_in_miles]. If [LocationFilter.address][google.cloud.tal ent.v4beta1.LocationFilter.address] is provided, [LocationFilt er.distance_in_miles][google.cloud.talent.v4beta1.LocationFi lter.distance_in_miles] is the additional radius on top of the radius of the location geocoded from [LocationFilter.addre ss][google.cloud.talent.v4beta1.LocationFilter.address]. If [L ocationFilter.lat_lng][google.cloud.talent.v4beta1.LocationFi lter.lat_lng] is provided, [LocationFilter.distance_in_mile s][google.cloud.talent.v4beta1.LocationFilter.distance_in_mi les] is the only radius that is used. [LocationFilter.distanc e_in_miles][google.cloud.talent.v4beta1.LocationFilter.dista nce_in_miles] is 10 by default. Note that the value of [Loca tionFilter.distance_in_miles][google.cloud.talent.v4beta1.Lo cationFilter.distance_in_miles] is 0 if it is unset, so the server does not differentiate [LocationFilter.distance_in_mi les][google.cloud.talent.v4beta1.LocationFilter.distance_in_ miles] that is explicitly set to 0 and [LocationFilter.distanc e_in_miles][google.cloud.talent.v4beta1.LocationFilter.dista nce_in_miles] that is not set. Which means that if [Location Filter.distance_in_miles][google.cloud.talent.v4beta1.Locati onFilter.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.distanc e_in_miles] which is 10. To work around this and effectively set [LocationFilter.distance_in_miles][google.cloud.talent.v 4beta1.LocationFilter.distance_in_miles] to 0, we recommend setting [LocationFilter.distance_in_miles][google.cloud.tale nt.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.distan ce_in_miles] is negative, an error is thrown.

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.Employ erFilter.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".

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.n egated][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.

Time filter specifies the create/update timestamp of the profiles to match on. For example, search for profiles created since "2018-1-1".

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

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

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.JobApplicationAvailabilitySigna l][google.cloud.talent.v4beta1.Availability.JobApplicationAvai labilitySignal] for the details of this signal. Signal 2: Number of days since last profile update. See [Availability.Pr ofileUpdateAvailabilitySignal][google.cloud.talent.v4beta1.Ava ilability.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.

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".