Overview
The Applicant Search module enables companies to proactively search for qualified candidates based on various criteria including location, education, experience, and technical skills.Search Criteria
Simplex Level (5.1.1 - 5.1.4)
Location
- City OR Country (select one)
- Single value per search
Education
- Bachelor
- Master
- Doctorate
Work Experience
- None
- Any
- Keyword search (case-insensitive)
Employment Types
Multiple selection allowed:
- Full-time
- Part-time
- Internship
- Contract
Search Result Display
Basic Information Shown:- First Name
- Last Name
- City
- Country
- Highest Education Degree
- All basic information above
- Education history
- Work Experience details
- Objective Summary
Medium Level Features
Full-Text Search (5.2.1)
FTS Capabilities
FTS Capabilities
Search across multiple fields simultaneously:
- Work Experience
- Objective Summary
- Technical Skills
Technical Skills Filtering (5.2.2)
Skill Tag Search:- Filter by technical skill tags
- Example: Search for “Kafka, Java, MongoDB”
- Returns applicants with Kafka OR Java OR MongoDB
- Not all three skills required
- Languages: Python, Java, JavaScript, Go, Rust
- Frameworks: React, Spring Boot, Django, Angular
- Databases: MongoDB, PostgreSQL, MySQL, Redis
- Tools: Docker, Kubernetes, Kafka, Git
Performance Optimizations
Lazy Loading (5.2.3)
Lazy Loading (5.2.3)
- Search results loaded incrementally
- Improves performance with large datasets
- Smooth scrolling experience
- Reduces initial load time
Responsive Design (5.2.4)
Responsive Design (5.2.4)
Search page responsive to:
- Desktop devices
- Mobile devices
- Tablet devices
- Adaptive layout and controls
Skill Tags Display (5.2.5)
Visual Skill Indicators
Each applicant result displays their skill tags for quick assessment:
- Color-coded tags
- Easy visual scanning
- Quick skill matching
Ultimo Level Features
Database Sharding Optimization (5.3.1)
Sharding Strategy:- Use Country as sharding key
- Queries routed to relevant shard only
- Significantly improves search performance
- Reduces database load
- System defaults to Vietnam location
- Can be changed by user
- Optimizes for primary user base
Applicant Marking System (5.3.2)
- Favorite
- Warning
- Mark promising candidates
- Quick access for future reference
- Indicated in search results
- Company-specific favorites
- From profile view
- From job application review
- Visual indicators in search results
Search Interface
Basic Search Example
Advanced Search with Skills
Search Flow
Implementation Guidelines
Case-Insensitive Search
All text searches must be case-insensitive to ensure comprehensive results
- “Software Engineer” = “software engineer” = “SOFTWARE ENGINEER”
- “python” = “Python” = “PYTHON”
Performance Considerations
1
Index Fields
Create database indexes on searchable fields
2
Use FTS Engine
Implement full-text search engine (Elasticsearch, MongoDB Atlas Search)
3
Implement Pagination
Use cursor-based or offset pagination for lazy loading
4
Cache Results
Cache frequently accessed searches in Redis
Data Integration
Required API Calls:- GET /api/applicants/search
- GET /api/applicants//profile
- GET /api/applicants//documents