76 lines
2.0 KiB
Markdown
76 lines
2.0 KiB
Markdown
# 数据库查询实现说明
|
||
|
||
## 需要的信息
|
||
|
||
为了实现基于数据库的快速匹配查询功能,我需要了解以下信息:
|
||
|
||
### 1. 岗位表(positions/jobs)结构
|
||
|
||
请提供:
|
||
- 表名
|
||
- 主要字段(特别是硬性条件相关字段):
|
||
- 学历要求字段名和存储格式
|
||
- 学位要求字段名和存储格式
|
||
- 年龄要求字段名和存储格式(是范围还是文本描述)
|
||
- 性别要求字段名和存储格式
|
||
- 专业要求字段名和存储格式
|
||
- 其他要求字段
|
||
|
||
### 2. 简历表(resumes/users)结构(如果需要从数据库读取)
|
||
|
||
或者告诉我:
|
||
- 简历数据是通过接口参数传入,还是需要从数据库查询?
|
||
- 如果从数据库查询,请提供表结构和字段信息
|
||
|
||
### 3. 数据格式示例
|
||
|
||
请提供:
|
||
- 岗位表中学历要求的实际存储值(如:"本科"、"本科及以上"、"3"等)
|
||
- 年龄要求的存储格式(如:`age_min=18, age_max=35` 或 `"18周岁以上、35周岁以下"`)
|
||
- 专业要求的存储格式
|
||
|
||
## 实现方案
|
||
|
||
根据您提供的数据库结构,我将实现:
|
||
|
||
1. **快速过滤查询**:使用SQL WHERE条件快速筛选符合条件的岗位
|
||
2. **匹配度计算**:对筛选后的岗位进行详细匹配计算
|
||
3. **排序分页**:按匹配度排序并分页返回
|
||
|
||
## 请提供的信息格式
|
||
|
||
可以以以下任一方式提供:
|
||
|
||
### 方式一:SQL建表语句
|
||
```sql
|
||
CREATE TABLE positions (
|
||
id INT,
|
||
education_require VARCHAR(50),
|
||
...
|
||
);
|
||
```
|
||
|
||
### 方式二:表结构描述
|
||
```json
|
||
{
|
||
"table_name": "positions",
|
||
"fields": {
|
||
"id": "INT PRIMARY KEY",
|
||
"education_require": "VARCHAR(50) - 学历要求",
|
||
...
|
||
}
|
||
}
|
||
```
|
||
|
||
### 方式三:示例数据
|
||
提供几条实际的岗位数据示例,我可以根据数据格式推断表结构。
|
||
|
||
## 实现后的功能
|
||
|
||
- ✅ 接口:`POST /match/batch` - 批量匹配查询
|
||
- ✅ 支持分页:`page`, `page_size` 参数
|
||
- ✅ 支持过滤0分:`filter_zero` 参数
|
||
- ✅ 快速响应:利用数据库索引,秒级返回结果
|
||
|
||
|