MARK MIRCHANDANI: The Google Cloud Talent Solution Job
Search API uses machine learning to determine
the relevance of job listings when a user searches for jobs.
Let's talk a bit more about what determines search relevance.
[MUSIC PLAYING]
If you haven't seen the previous videos in this series,
I definitely recommend checking them out.
Jobs in companies have quite a few properties
that the machine learning models reference
to determine the relevance of search results.
You can influence that relevance significantly
by providing more information, or using things
like custom ranking and featured jobs.
Of course, search result relevance
can be complex to measure, especially
since different things are relevant to different people.
The job search API uses an algorithm
based on a few signals from the job data.
One of the most important properties
is geographic location.
Both companies and jobs have location properties,
but the job location will be used over the company location
when a user does a search.
You should be using the specific address
fields for jobs and companies so that the API can
geolocate it and use it to return the most
relevant jobs for a search.
If someone searches for San Francisco,
they probably want to see jobs in and around San Francisco
first and foremost.
The next determination is how fresh a job is.
Basically, newer jobs are ranked higher
than updated or older jobs.
Like all of these signals, it's used
in combination with the data to make sure the search
results are relevant.
So a newer job that's completely unrelated
shouldn't show up at the top just because it's new.
The title and description of a job
play a major role in determining if it's right for a search
query, of course.
If a job for a scrum master is posted
and the description mentions managing software developers,
then a search for "software development manager"
should include that job.
Make sure to avoid just stuffing a bunch of keywords
into a job description, or you may end up
with some less relevant jobs being surfaced.
The API also has some parameters that you
can pass when doing a search to better control the results.
Keyword match lets you enable or disable
if the search should look for keywords beyond the regular ML
driven search results.
Broadening will widen the search scope for the given parameters,
allowing you to get more results for a search.
Diversification level lets you choose
if similar jobs should appear near each other in search
results, or if it should only display the most relevant one.
Check out the earlier Best Practices video
to see some more details on these.
There's also a lot of features of the API
to consider when searching, such as any filters of type
like employment, or distance from a location.
Using the commute search options lets
you filter by how long it would take
to travel to and from the job.
Using featured jobs lets you promote individual jobs.
So they could appear in their own promoted section.
You can even enable custom ranking
to manually influence search results based
on your different custom fields.
With all of these factors in play,
the API has a lot of considerations
when determining which jobs are most relevant to a search.
Your business logic may also dictate certain requirements,
which you can achieve through the search parameters and API
features.
In addition, the ML models will tune over time
if you've hooked up the API events as users
interact with your job search.
So if you're seeing results that are unexpected or surprising
when doing a search, here's a quick checklist
to help investigate what might be happening.
First up, if a job isn't showing up when you think it should be,
make sure to check the details.
With all the factors we just mentioned,
it's important to double check the title, description,
location, and any of the filters that may be on the search that
might exclude it.
Also, check to see that the job hasn't expired yet
since expired jobs won't return in the results.
If the search request has diversification level enabled,
the job you're looking for may have
been moved to the end of the list,
because a more relevant and very similar
job was displayed first.
On the other hand, if a job is showing up in results
that it shouldn't be, you should still
start to check with the job details.
When checking for details, make sure
to look at the location for the job,
and if the search request may include a location,
since that may push this job higher up in relevance.
Additionally, check to see if the search request has enabled
broadening turned on, which will relax
some of the stricter job search conditions to return more jobs.
If a job is showing up lower in the search results
than you would expect, you'll definitely
want to check everything on the search request.
Custom ranking, feature jobs, keyword matching,
and diversification level can all heavily
affect the order in which jobs show up.
You should also look at the location of the search
and at the more relevant jobs to see if they more closely align.
Also, don't forget to check the freshness of the job posting
to see if the more relevant jobs are also more recent.
If the locations for a job are showing up
incorrectly or in unexpected places,
check the derived location information for a job.
The information provided for the job location may have targeted
the job somewhere else than intended,
or the job may be inheriting its location
from the parent company.
Make sure you're using the Addresses
field with a full address rather than putting
the address in the description or putting
something not specific enough, like just California.
If a job isn't returning for some searches that
use industry-specific terms, it's
most likely that those terms aren't recognized
by the Job Search API.
If you've hooked up events handling,
the ML models will train themselves over time
to better match searches for those words.
In addition, you can use custom fields
to include synonyms and other search
values to help more jobs show up when an industry term is used.
These are some steps you can check
as you integrate and debug the implementation of the API.
If you're still not sure what's going on,
make sure to grab the request ID from your search request, which
is returned with every API request.
That ID has all the information for the search,
and you can provide it to the support team
so that they can help figure out what's going on
if you file a support request.
As you can see, there's a lot of power in the Job Search API.
If you haven't already, check out
our previous videos and the documentation for a deeper
dive on these subjects.
Thanks for watching.
And remember, when looking for talent,
it's OK to keep your head in the Cloud.
[MUSIC PLAYING]