What Makes Recruitier’s Job Search Different
Most recruitment platforms rely on simple keyword matching. You type “Python developer” and only see listings that contain those exact words. Recruitier takes a fundamentally different approach by combining semantic understanding with keyword matching to deliver results that truly match what you are looking for. When you search for “Python developer,” Recruitier does not just look for those words. It understands that this role involves backend engineering, scripting, frameworks like Django and FastAPI, database experience, and related competencies. This means you also see relevant listings titled “Backend Engineer,” “Software Developer,” or “Data Engineer” — jobs that a traditional keyword search would miss entirely.Three Search Modes
Recruitier offers three distinct search modes, each suited to different use cases. The default mode is Hybrid, which gives you the best of both worlds.| Mode | Description | Best For |
|---|---|---|
| Hybrid (Default) | Combines semantic understanding with keyword precision using Reciprocal Rank Fusion (RRF). Results are scored across both engines and merged. | General-purpose searching where you want both meaning-based and exact-term matching. |
| Semantic Only | Uses vector embeddings exclusively. Finds jobs based purely on meaning similarity. | Exploratory searches where you want to discover roles described with different terminology. |
| Keyword Only | Uses BM25 text matching exclusively. Finds jobs that contain your exact search terms. | Precision searches where you know the exact terms employers use, such as specific certifications or niche technologies. |
The Hybrid mode is recommended for the vast majority of searches. It ensures you do not
miss semantically relevant jobs while still rewarding exact keyword matches with a scoring
bonus. Switch to Semantic Only or Keyword Only when you have a specific reason to do so.
How Jobs Are Sourced
Recruitier continuously scrapes job listings directly from company career pages across the Netherlands. Unlike job boards that rely on employers to manually post listings, Recruitier proactively discovers jobs at their source. This means you often find opportunities before they appear on mainstream platforms. The scraping pipeline works around the clock:- Discovery — Recruitier’s scrapers visit thousands of Dutch company websites and career pages to identify new job postings.
- Extraction — Each listing is parsed to extract structured data: job title, location, experience level, job type, flexibility options, salary information, and the full job description.
- Enrichment — The platform links each job to its parent company record, pulling in company details like industry, employee count, LinkedIn profile, and website.
- Indexing — Jobs are converted into vector embeddings and indexed for both semantic and keyword search, making them instantly searchable.
Recruitier refreshes its job data continuously. New listings are typically indexed within
hours of being published on a company’s career page. Jobs that are no longer available are
automatically marked as expired.
The Search Database
The Recruitier search database contains tens of thousands of active job listings from Dutch companies. Each listing includes:- Job title and full description (with markdown formatting)
- Location with geocoded coordinates for radius-based filtering
- Experience level (junior, medior, senior, lead)
- Job type (full-time, part-time, contract, temporary, internship)
- Flexibility (remote, hybrid, on-site)
- Salary range when available
- Company information including name, industry, employee count, and LinkedIn profile
- Posting date for recency filtering (detected from multiple sources: JSON-LD structured data, LLM extraction, HTML metadata, visible text patterns, URL patterns, sitemaps, or the date Recruitier first discovered the listing)
- Requirements summary extracted by AI
- Contact information including emails, phone numbers, and LinkedIn profiles of decision makers
- “Geen acquisitie” detection — a flag indicating the company does not want recruiter outreach
The Search Workflow
Using Recruitier’s job search follows a clear, guided workflow:Create a Search
Use the 4-step search wizard to define what you are looking for. Enter a job title,
review AI-extracted skills, set your filters, and configure preferences like salary
range and company size.
Review Results
Recruitier processes your search asynchronously and presents a ranked list of matching
jobs. Each result includes a relevance score, job details, and company information.
Sort, filter, and explore the results to find the best opportunities.
Save and Organize
Save the most promising jobs to your collection. Apply tags, add internal notes, and
track your outreach progress. Your saved searches are stored for easy access later.
Search vs. Saved Jobs
It is important to understand the distinction between searches and saved jobs in Recruitier:| Concept | Description |
|---|---|
| Search | A set of criteria (job title, skills, filters) that you define. Recruitier runs this against the database and returns ranked results. Searches can be re-run, cloned, and monitored for new matches. |
| Saved Jobs | Individual job listings that you have collected from search results or client pages. These live in your Jobs collection where you can tag, annotate, and track them. |
Boolean Search Support
Recruitier supports boolean operators in the job title field to help you cast a wider net for roles that could be described with different titles. How it works:- Use
orbetween terms to search for multiple variations:"python developer or backend engineer" - Each combination generates a separate search query to the recommendation engine
- Results from all queries are merged and deduplicated, so you never see the same job twice
- The final result set contains the best matches from all query variations
Search Sources
Every search has a source that indicates where it originated. This helps you track how your searches were created:| Source | Description |
|---|---|
| Recommendation | Created through the standard search wizard using the recommendation engine. |
| Created from LinkedIn job data or candidate profile matching. | |
| Indeed | Created from Indeed job data. |
Create Your First Search
Follow the 4-step wizard to create a targeted job search.
How Search Technology Works
Learn about the hybrid semantic and keyword engine behind the results.
Key Features at a Glance
AI Skill Extraction
Enter a job title and AI automatically identifies the relevant skills, technologies,
and competencies to improve your search accuracy.
Hybrid Search Engine
Combines vector-based semantic search with BM25 keyword matching for results that
balance meaning and precision.
Real-Time Processing
Searches are processed asynchronously with live status updates so you always know
what stage your search is in.
Monitored Searches
Your searches are continuously monitored. New jobs matching your criteria are flagged
automatically, keeping your pipeline fresh.
Advanced
Search Entity Architecture
Under the hood, each search you create is stored as a search entity with a comprehensive set of fields that drive the entire search pipeline:- Core identifiers: name, description, and extra_keywords that define what you are looking for
- Filter arrays: experience_level, job_type, flexibility, and “when” (recency) are stored as JSONB arrays, allowing multi-select for each filter dimension
- Location data: city name, latitude, longitude, and radius_km for geocoded radius filtering
- Source tracking: whether the search originated from LinkedIn, Indeed, or the recommendation engine
- Boolean type: AND or OR logic for combining search terms
- AI search flag: marks whether AI-enhanced search features were used
- Monitoring state: is_monitored tracks whether the search watches for new jobs, and new_jobs_count tracks how many unreviewed matches have been found
- Candidate linking: candidate_id connects a search to a specific candidate profile for CV-based matching
- Pagination: pages controls how many pages of results to retrieve from the recommendation engine
How Search Connects to Other Features
The search system is the entry point to several downstream features:- Job collection — Search results populate your personal job collection. Each result becomes a Job entity linked to both the search and the underlying ScrapedJob record.
- Contact discovery — When results are returned, Recruitier enriches each job with contact information from the parent company, enabling outreach directly from search results.
- Candidate matching — Searches can be linked to a candidate profile. When a candidate_id is present, the search criteria are tailored to that candidate’s skills and experience, and results are presented in the context of that candidate’s profile.
- Monitoring pipeline — Monitored searches feed into a background job that periodically re-runs the search criteria against newly indexed jobs, delivering real-time notifications via SSE (Server-Sent Events) when new matches are found.
- Cloning and collaboration — The search entity supports cloning to other users within the same agency, copying all jobs, contacts, and metadata.
Power-User Tips
Get more results with broader queries
Get more results with broader queries
If your initial search returns fewer results than expected, try these approaches:
- Use boolean OR to include alternative job titles
- Reduce the number of confirmed skills to the 3-4 most essential ones
- Widen the location radius or remove the location filter entirely
- Expand the “posted within” timeframe to 6 months or anytime
- Select multiple experience levels (e.g., both medior and senior)
Narrow results without re-searching
Narrow results without re-searching
You do not need to create a new search to refine results. Use the in-results filters
on the search detail page to narrow by experience level, job type, flexibility, match
type, tags, and active status. This is faster than re-running the search and preserves
your original result set.
Use search monitoring strategically
Use search monitoring strategically
Monitoring works best for stable, well-defined searches. If your search criteria are
very broad (e.g., just “Developer” with no filters), the monitor will find many new
matches and the new_jobs_count can grow quickly. For effective monitoring, use specific
job titles and at least 2-3 filters to keep the match stream focused and actionable.
Business Logic Rules
- Score normalization: All match scores are displayed on a 30-99% scale. The top result in any search is normalized to approximately 99%, with all other results scaled relative to the top score. This means scores are meaningful within a single search but should not be compared across different searches.
- Poor match removal: Jobs classified as “Poor Match” (matching less than 80% of keywords) can be automatically removed to keep your results focused on quality opportunities.
- Deduplication: When using boolean OR queries, each combination generates a separate API call. Results are merged and deduplicated by the underlying ScrapedJob ID, so you never see duplicate listings.
- Search state progression: Each search moves through states (Searching > Classifying > Retrieving Company Info > Done) and cannot skip steps. Real-time progress is delivered via SSE notifications.
Related
- Creating a Search — Step-by-step guide to the search wizard
- How Search Technology Works — Deep dive into the hybrid engine
- Search Filters — Complete filter reference
- Search Results — Navigating and acting on your results

