Use Casesπ︎
Not sure how to tie the APIs together to build a solution? Here are pointers for the most common use cases.
Candidate Searchπ︎
To retrieve the most relevant candidates for a job:
- Parse and index all candidates
- Optionally: Include custom fields. These are fields not coming from the parser but from your own database. For example: βcandidate statusβ.
- Construct a query using the Query Language
- Ensure you include field names for best results (e.g. job titles go in a job title field).
- Set SynonymLanguages to only the languages in which the terms should be expanded with synonyms and related terms.
- Run the search
Recommendations:
- Use Autocomplete in your UI to help users build queries
- Allow users to use Natural Language Queries (documentation will be added soon)
- Use Condition types to filter, boost, or exclude terms. The Default condition is "nice to have".
- Optionally Set Weights. Each individual term can be weighted separately.
Refining a Searchπ︎
- To change or add terms to the query: from the response of the initial search, modify the QueryParts, and include those in the new query.
- Provide Facets in your UI for easy filtering
Job-to-Candidate Matchingπ︎
To find the most relevant candidate for a job:
Example:
To match job ID 123:
POST /v10/matchv2/candidates/match
{
"SourceDocument" : {
"Type" : "vacancy",
"Id" : "123"
},
"SearchAndMatchEnvironment": "PROD",
"Options" : {
"Roles" : [ "all" ]
}
}
Candidate-to-Job Matchingπ︎
To find the most relevant jobs for a candidate:
- Parse and index the candidate
- Parse and index all jobs
- Perform a Match from the candidate to the jobs index
Example:
To match candidate ID 123:
POST /v10/matchv2/vacancies/match
{
"SourceDocument" : {
"Type" : "candidate",
"Id" : "123"
},
"SearchAndMatchEnvironment": "PROD",
"Options" : {
"Roles" : [ "all" ]
}
}
Finding Similar Candidatesπ︎
To find candidates similar to an existing candidate:
Example:
To match candidate ID 123:
POST /v10/matchv2/candidates/match
{
"SourceDocument" : {
"Type" : "candidate",
"Id" : "123"
},
"SearchAndMatchEnvironment": "PROD",
"Options" : {
"Roles" : [ "all" ]
},
"Query" : {
"QueryString": "-docid:123"
}
}
Ranking Applicants for a Jobπ︎
To rank applicants who have a applied to a job. Similar to "Getting the most relevant candidates for a job" with an added step to track which jobs candidates applied to.
- Parse the candidates and the job
- Index the jobs
- Index the candidates. Track which jobs candidates applied to by adding a custom field
To set up:
- Log into Tx Console
- Go to Custom Field tab
- Add a field with name:
AppliedToand typeMulti-text -
In your indexing request, add a
string[]property calledAppliedToin thecustomFieldsobject -
Match from job to candidates
Example:
Filter to only include candidates who applied to job 789: appliedTo:789
POST /v10/matchv2/candidates/match
{
"SourceDocument" : {
"Type" : "vacancy",
"Id" : "123"
},
"SearchAndMatchEnvironment": "PROD",
"Options" : {
"Roles" : [ "all" ]
},
"Query" : {
"QueryString": "appliedTo:789"
}
}
Ranking a specific list of Candidates against a Jobπ︎
This is similar to "Ranking Applicants for a Job" except we are ranking a specific list of candidates from a list of IDs instead of using the appliedTo filter on the results. This may be useful, for example, to select the top matches from a specific list of candidates (for example a candidate pool or a hot list).
- Parse the candidates and the job
- Index the jobs
- Index the candidates.
- Match from job to candidates
Example:
Rank the specific candidates with the IDs: 2134, 3489, 9213, or 1045
POST /v10/matchv2/candidates/match
{
"SourceDocument" : {
"Type" : "vacancy",
"Id" : "123"
},
"SearchAndMatchEnvironment": "PROD",
"Options" : {
"Roles" : [ "all" ]
},
"Query" : {
"QueryString": "docid:(2134 3489 9213 1045)" // include only documents with any of these specific candidate IDs
}
}
Job-to-Candidate Matching when excluding a list of Candidatesπ︎
To find the most relevant candidate for a job, but excluding a specific set of candidates (for example candidates that have already applied for the job and been rejected)
- Parse the candidates and the job
- Index the jobs
- Index the candidates.
- Match from job to candidates
Example:
Match against job ID 123, but exclude candidates with the IDs: 2134, 3489, 9213, or 1045.
POST /v10/matchv2/candidates/match
{
"SourceDocument" : {
"Type" : "vacancy",
"Id" : "123"
},
"SearchAndMatchEnvironment": "PROD",
"Options" : {
"Roles" : [ "all" ]
},
"Query" : {
"QueryString": "-docid:(2134 3489 9213 1045)" // include matches EXCEPT any of these 4 candidates
}
}
Match Candidate to External Jobsπ︎
Match candidates against public jobs on the internet.
Example:
To match candidate ID 123:
POST /v10/matchv2/externaljobs/match
{
"SourceDocument" : {
"Type" : "candidate",
"Id" : "123"
},
"SearchAndMatchEnvironment": "PROD",
"Options" : {
"Roles" : [ "all" ]
}
}