Skip to content
Tx Platform
Use Cases

Use CasesπŸ”—︎

Not sure how to tie the APIs together to build a solution? Here are pointers for the most common use cases.

To retrieve the most relevant candidates for a job:

  1. Parse and index all candidates
  2. Optionally: Include custom fields. These are fields not coming from the parser but from your own database. For example: β€œcandidate status”.
  3. Construct a query using the Query Language
  4. Ensure you include field names for best results (e.g. job titles go in a job title field).
  5. Set SynonymLanguages to only the languages in which the terms should be expanded with synonyms and related terms.
  6. 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.
  • 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:

  1. Parse and index all candidates
  2. Parse and index the job
  3. Match from the job to the candidates index

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:

  1. Parse and index the candidate
  2. Parse and index all jobs
  3. 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:

  1. Parse and index all candidates
  2. Match from the candidate to the candidates index

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"
  }
}
Note: the QueryString is needed to ensure that candidate 123 that you're matching from doesn't show up in the search results.


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.

  1. Parse the candidates and the job
  2. Index the jobs
  3. 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: AppliedTo and type Multi-text
  • In your indexing request, add a string[] property called AppliedTo in the customFields object

  • 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).

  1. Parse the candidates and the job
  2. Index the jobs
  3. Index the candidates.
  4. 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)

  1. Parse the candidates and the job
  2. Index the jobs
  3. Index the candidates.
  4. 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.

  1. Parse and index the candidate
  2. Match from the candidate to the external jobs index

Example:
To match candidate ID 123:

POST /v10/matchv2/externaljobs/match

{
  "SourceDocument" : {
    "Type" : "candidate",
    "Id" : "123"
  },
  "SearchAndMatchEnvironment": "PROD",
  "Options" : {
    "Roles" : [ "all" ]
  }
}