Ontology Search
This topic describe the procedure on how you can use the Ontology search in the Search and Match API.
Ontology search uses the RelatedSkills and RelatedJobProfile for matching unlike the traditional search, which looks for exact matches of the query words.
The taxonomy API is used to get the RelatedSkills and the RelatedJobProfile for the skills in the document. The RelatedSkills and the RelatedJobProfile are then filtered out based on the Skill and JobProfile ontology and used for matching. With this feature, the Search and Match API matches based on both the actual keywords in the query and ontology (RelatedSkills and the RelatedJobProfile) to improve the matched results.
To use the Ontology Search in the API, you need to include ontologyBasedSearch parameter in your API request and set it to True. Refer to the example below for reference:
"ontologyBasedSearch": true
-
The ontologyBasedSearch parameter can be passed and used in the API request of Match, Match with ID, Match with Multiple Sub-User Ids, and One To One Match.
- The Ontology search feature is currently available only for JD to Resume matching.
- Ontology Search uses the Taxonomy API to find similar skills and job profiles, but for AI-driven matching of similar job profiles, the Semantic Search feature must be used.
Sample Request
{
"index": {
"indexType": "Resume",
"indexKey": "Use your indexKey",
"subUserId": "Use your subUserId"
},
"match": {
"docType": "JD",
"documentId": "20200_72364JD"
},
"ontologyBasedSearch": true,
"pageSize": 1,
"pageStart": 0,
"explainScore": true,
"explainScoreType": "json",
"explainWeightage": true
}
Sample Response
{
"count": 32,
"pageStart": 0,
"pageSize": 1,
"records": [
{
"id": "202411060457PMPentaKotaKumar",
"score": 73.91,
"CurrentEmployer": "Capgemini",
"TotalExperienceInYear": 3.11,
"CurrentJobProfile": "Automation Test Engineer",
"FullName": "KUMAR PENTAKOTA",
"SubUserId": "manoj"
}
],
"explainScore": [
{
"id": "202411060457PMPentaKotaKumar",
"explaination": {
"score": 73.91,
"maxScore": 100.0,
"Match": {
"score": 73.91,
"maxScore": 100.0,
"detailScore": [
{
"score": 43.75,
"maxScore": 43.75,
"entity": "CurrentJobProfile",
"value": "Software Tester OR Automation Architect OR Test Analyst OR Automation Test Engineer OR Quality Assurance Automation Engineer OR Senior Quality Assurance Analyst OR Software Development Engineer in Test OR Agile Tester OR Test Engineer OR Senior Quality Assurance Engineer OR Software Quality Assurance Engineer OR Quality Assurance Engineer OR Assistant Software Quality Assurance Engineer OR Quality Assurance Internship OR Test Manager OR Hardware in the Loop Test Engineer OR Junior Test Engineer OR Junior Software Tester OR Senior Software Tester OR Quality Assurance Intern OR Salesforce Tester OR Mobile Quality Assurance Lead OR Automation Test Manager OR Senior Test Architect OR SDET Architect OR Robotic Process Automation Tester OR Performance Test Manager OR Performance Test Lead OR System Tester OR Software Test Engineer"
},
{
"score": 12.5,
"maxScore": 12.5,
"entity": "TotalExperienceInYear",
"value": "[3.0 TO 4.0]"
},
{
"score": 0.0,
"maxScore": 8.33,
"entity": "QualificationsPreferred",
"value": "Master"
},
{
"score": 6.25,
"maxScore": 6.25,
"entity": "Category",
"value": "information"
},
{
"score": 3.47,
"maxScore": 3.47,
"entity": "HighestDegree",
"value": "bachelor of technology"
},
{
"score": 0.0,
"maxScore": 3.47,
"entity": "QualificationsRequired",
"value": "Bachelor of Engineering"
},
{
"score": 0.0,
"maxScore": 3.47,
"entity": "QualificationsRequired",
"value": "Software Engineering"
},
{
"score": 0.96,
"maxScore": 1.2,
"entity": "SkillAlias",
"value": "conflict resolution OR task management OR adaptability OR accountability OR collaboration skills"
},
{
"score": 1.2,
"maxScore": 1.2,
"entity": "SkillWithoutExp",
"value": "software development OR software design OR sdlc"
},
{
"score": 0.0,
"maxScore": 1.2,
"entity": "RequiredSkillSet",
"value": "Automated Testing Tools"
},
{
"score": 0.0,
"maxScore": 1.2,
"entity": "RequiredSkillSet",
"value": "Communication"
},
{
"score": 0.0,
"maxScore": 1.2,
"entity": "RequiredSkillSet",
"value": "Problem-Solving Skills"
},
{
"score": 0.0,
"maxScore": 1.2,
"entity": "RequiredSkillSet",
"value": "Testing Methodologies"
},
{
"score": 0.72,
"maxScore": 0.72,
"entity": "SkillWithoutExp",
"value": "continuous integration OR iterative and incremental development OR sprint planning OR continuous deployment OR user story OR agile methodologies"
},
{
"score": 0.58,
"maxScore": 0.72,
"entity": "SkillAlias",
"value": "software configuration management OR version control OR continuous delivery OR deployment automation OR devops"
},
{
"score": 0.58,
"maxScore": 0.72,
"entity": "SkillAlias",
"value": "object oriented programming OR exception handling OR functional programming OR control flow OR microsoft visual studio OR programming languages"
},
{
"score": 0.72,
"maxScore": 0.72,
"entity": "SkillHaveExp",
"value": "regression testing OR integration testing OR defect management OR software quality assurance OR selenium OR loadrunner OR software testing"
},
{
"score": 0.72,
"maxScore": 0.72,
"entity": "SkillHaveExp",
"value": "defect detection OR test reporting OR automation testing"
},
{
"score": 0.58,
"maxScore": 0.72,
"entity": "SkillAlias",
"value": "test driven development OR ad hoc testing OR agile testing"
},
{
"score": 0.58,
"maxScore": 0.72,
"entity": "SkillAlias",
"value": "test analysis OR testcomplete OR testrail OR hiperstation OR testing tools"
},
{
"score": 0.58,
"maxScore": 0.72,
"entity": "SkillAlias",
"value": "user acceptance testing OR test execution"
},
{
"score": 0.72,
"maxScore": 0.72,
"entity": "SkillHaveExp",
"value": "test management OR test planning OR eunit"
},
{
"score": 0.0,
"maxScore": 0.72,
"entity": "PreferredSkillSet",
"value": "Computer Science"
},
{
"score": 0.0,
"maxScore": 0.72,
"entity": "PreferredSkillSet",
"value": "Performance Testing"
},
{
"score": 0.0,
"maxScore": 0.72,
"entity": "PreferredSkillSet",
"value": "Security Testing"
},
{
"score": 0.0,
"maxScore": 0.72,
"entity": "PreferredSkillSet",
"value": "Software Engineering"
},
{
"score": 0.0,
"maxScore": 0.72,
"entity": "JobProfileRelatedSkills",
"value": "Test Design"
},
{
"score": 0.0,
"maxScore": 0.72,
"entity": "JobProfileRelatedSkills",
"value": "Error Reduction"
},
{
"score": 0.0,
"maxScore": 0.72,
"entity": "JobProfileRelatedSkills",
"value": "TestCafe"
}
]
}
}
}
],
"jdWeightage": [
{
"Parent": "JobProfile",
"Weight": 43.75,
"Child": {
"JobProfileTitle": 100.0,
"JobProfileAlias": 80.0,
"JobProfile": 80.0
}
},
{
"Parent": "Organization",
"Weight": 0.0
},
{
"Parent": "Skill",
"Weight": 18.74,
"Child": {
"PreferredSkillSet": 80.0,
"AliasSkillSet": 80.0,
"JobProfileRelatedSkills": 80.0,
"RequiredSkillSet": 100.0
}
},
{
"Parent": "Degree",
"Weight": 18.74,
"Child": {
"QualificationsPreferred": 80.0,
"QualificationsRequired": 100.0
}
},
{
"Parent": "ExperienceRequired",
"Weight": 12.5,
"Child": {
"MaximumYearsExperience": 100.0,
"MinimumYearsExperience": 100.0
}
},
{
"Parent": "JobLocationCity",
"Weight": 0.0
},
{
"Parent": "JobLocationState",
"Weight": 0.0
},
{
"Parent": "JobLocationCountry",
"Weight": 0.0
},
{
"Parent": "IndustryType",
"Weight": 0.0
},
{
"Parent": "Domains",
"Weight": 6.25
}
]
}