6.0 KiB
6.0 KiB
岗位简历匹配度接口说明
接口地址
POST http://work.dhdjy.com/match/calculate
接口说明
该接口用于计算岗位信息和简历信息的匹配度,采用硬性条件一票否决 + 软性条件加分的双层匹配机制,符合公考职位匹配的实际需求。
返回结果:仅返回匹配度分数(0-100分),硬性条件不满足时返回0分。
匹配机制说明
匹配流程
-
硬性条件检查(一票否决)
- 首先检查硬性条件,如学历、学位、年龄、专业、性别等
- 任一硬性条件不满足,直接返回0分,不进行软性条件评分
- 所有硬性条件满足后,进入软性条件评分
-
软性条件评分(100分制)
- 在通过硬性条件筛选的基础上,对软性条件进行评分
- 评分维度包括:专业匹配度、学历层次匹配度、专业资格条件、基层工作经历、其他条件等
- 最终得分范围为 0-100 分
请求参数
请求方式
- 方法: POST
- Content-Type: application/json 或 application/x-www-form-urlencoded
请求参数说明
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| position | object | 是 | 岗位信息对象 |
| resume | object | 是 | 简历信息对象 |
请求示例
JSON格式请求
{
"position": {
"id": 1,
"base_info": {
"岗位名称": "人工智能与大数据侦察职位一",
"招考单位": "市级公安机关",
"招录人数": "10",
"岗位代码": "45150001"
},
"position_info": {
"岗位名称": "人工智能与大数据侦察职位一",
"招考单位": "市级公安机关",
"招录人数": "10",
"岗位代码": "45150001"
},
"position_require": {
"学历要求": "本科及以上",
"学位要求": "学士及以上",
"年龄要求": "18周岁以上、35周岁以下。",
"专业(学科)类别": "计算机科学与技术类,电气、电子及自动化类",
"其他资格条件": "适合男性。符合人民警察录用条件。",
"专业资格条件": "曾参加人工智能、大数据、计算机领域竞赛,获个人三等奖或团体三等奖及以上。"
}
},
"resume": {
"user_id": 527,
"birth_date": "1995-03-01",
"gender": "男",
"work_experience": "3年基层工作年限",
"education": [
{
"education_level": "硕士研究生",
"degree": "硕士",
"majors_name": "计算机科学与技术"
}
]
}
}
响应参数
成功响应
{
"code": 200,
"msg": "计算成功",
"data": {
"match_score": 90
}
}
错误响应
{
"code": 400,
"msg": "参数错误:岗位信息和简历信息不能为空",
"data": null
}
匹配度分数说明
分数含义
- 0分:硬性条件不满足(如年龄超限、专业不匹配、学历不达标等),一票否决
- 1-100分:通过硬性条件筛选后的软性条件匹配度
硬性条件(一票否决)
以下条件不满足时,直接返回0分:
- 学历要求:必须达到或超过岗位要求的学历
- 学位要求:必须达到或超过岗位要求的学位
- 年龄要求:必须在岗位要求的年龄范围内
- 专业要求:专业必须属于岗位要求的专业类别
- 性别要求:如果岗位明确要求性别,必须匹配
软性条件评分规则(100分制)
在通过硬性条件筛选后,进行软性条件评分:
-
专业匹配度(40分)
- 专业完全匹配:40分
- 专业部分匹配:根据匹配程度评分
-
学历层次匹配度(20分)
- 刚好满足要求:15分
- 超过要求一级:20分
- 超过要求两级及以上:20分
-
专业资格条件(20分)
- 根据专业竞赛获奖、证书等情况评分
- 无要求时给满分
-
基层工作经历(10分)
- 有基层工作经历:10分
- 无基层工作经历:0分
-
其他条件(10分)
- 根据政治面貌、特殊身份等其他条件评分
- 无要求时给满分
使用示例
示例1:硬性条件不满足
请求:
{
"position": {
"position_require": {
"年龄要求": "18周岁以上、35周岁以下。",
"专业(学科)类别": "计算机科学与技术类"
}
},
"resume": {
"birth_date": "1989-03-01",
"education": [
{
"majors_name": "逻辑学"
}
]
}
}
响应:
{
"code": 200,
"msg": "计算成功",
"data": {
"match_score": 0
}
}
说明:年龄36岁超过35岁上限,或专业不匹配,硬性条件不满足,返回0分。
示例2:通过硬性条件
请求:
{
"position": {
"position_require": {
"学历要求": "本科及以上",
"年龄要求": "18周岁以上、35周岁以下。",
"专业(学科)类别": "计算机科学与技术类"
}
},
"resume": {
"birth_date": "1995-03-01",
"work_experience": "3年基层工作年限",
"education": [
{
"education_level": "硕士研究生",
"degree": "硕士",
"majors_name": "计算机科学与技术"
}
]
}
}
响应:
{
"code": 200,
"msg": "计算成功",
"data": {
"match_score": 100
}
}
说明:所有硬性条件满足,软性条件评分100分。
注意事项
- 硬性条件优先:硬性条件不满足时,直接返回0分,不进行软性条件评分
- 匹配度分数:只有在通过硬性条件筛选后,才会计算匹配度分数(0-100分)
- 数据结构:专业资格条件评分需要简历中包含相关证书、获奖等信息,当前数据结构暂不支持,需要扩展
- 专业匹配:专业匹配基于关键词匹配,实际应用中可能需要更专业的专业分类映射表
使用场景
该接口适用于:
- 公考职位与考生简历匹配
- 事业单位招聘匹配
- 其他需要硬性条件筛选的招聘场景