Semantic Search vs Keyword Search in Recruiting
Keyword search and semantic search answer different questions. Keyword search asks "does this exact term appear in this document." Semantic search asks "does this document describe the same thing this query means." The distinction sounds academic until you write a real recruiter query and watch the two approaches return different candidates for it. This is a mechanical explanation of both, with concrete examples, and honest notes on where boolean search still earns its place.
How keyword and boolean search actually work
A boolean search is a literal string match combined with logical operators. A recruiter writes something like:
("product manager" OR "PM") AND "B2B" AND ("remote" OR "hybrid") NOT "intern"
The system scans candidate text for those exact tokens and returns anything satisfying the logic. It is precise and predictable — you know exactly why a result matched, because the matched terms are visible in the query itself. It is also brittle in a specific way: it only finds what you asked for in the words you asked for it in. If a candidate wrote "go-to-market lead" instead of "product manager," or "flexible location" instead of "remote," the boolean string misses them entirely, not because they are a weak fit, but because they used different words for the same reality.
How semantic search works instead
Semantic search does not rely only on matching tokens. A query and a candidate's profile can be converted into embeddings — numerical representations that place similar meanings near each other in a vector space — so the system can retrieve profiles that use different vocabulary. Production systems often combine that retrieval with lexical signals, hard filters, relevance thresholds, and reranking rather than treating one vector score as a hiring decision. LinkedIn Engineering describes the same broader pattern of multiple retrieval strategies, ranking, filtering, and staged evaluation in its Hiring Assistant search architecture. The underlying mechanism is described in more detail as semantic matching.
In practice, this means a query does not need to guess the candidate's exact vocabulary. If a recruiter searches:
"Someone who led a small engineering team"
a semantic system can match a candidate whose profile says "managed four engineers," because the two phrases describe the same underlying reality even though they share almost no words. A boolean search for "led a small engineering team" or even "led" AND "engineering team" would miss that candidate outright, because "managed four engineers" never uses the word "led" or the word "team" in that combination.
A few more side-by-side examples make the pattern concrete:
| Recruiter query | Boolean search needs | Semantic search matches |
|---|---|---|
| "led a small engineering team" | exact phrase or term combination | "managed four engineers," "ran a 5-person eng team" |
| "owns payments infrastructure" | "payments" AND "infrastructure" | "built and maintained the billing and checkout systems" |
| "grown a brand from early stage" | "brand" AND "early stage" (or similar) | "built the marketing function from the company's first year" |
| "comfortable with ambiguity in a startup" | rarely searchable at all as keywords | "worked in a fast-changing environment with shifting priorities" |
The last row is the clearest case: some of what recruiters actually care about — working style, comfort with ambiguity, pace of environment — was never expressible as a clean keyword string to begin with. Semantic search can reach concepts that boolean logic structurally cannot represent, because there is no fixed token for "worked well in ambiguity."
Why this matters for passive candidates specifically
This gap matters most for passive candidates, who did not write their profile with your specific search in mind. An active applicant tailors a resume to a job posting's language. A passive candidate's profile reflects how they naturally describe their own work, which may not overlap with any recruiter's keyword guesses at all. Semantic search closes that gap without requiring the candidate to predict your vocabulary — see how recruiters search candidates using plain English for the recruiter-side mechanics of writing those queries.
When boolean search still helps
Semantic search is not a strict upgrade in every situation. Boolean logic still earns its place for a few specific needs:
- Compliance and hard requirements. If a role legally requires a specific certification or clearance, a boolean filter for that exact credential is more reliable than a similarity match, because "close in meaning" is the wrong standard for a binary yes/no requirement.
- Narrow disambiguation. When you need to exclude a specific term ("NOT contractor") or require an exact proper noun (a specific tool, a specific certification name), boolean's literalism is a feature, not a limitation.
- Auditability. Boolean queries are fully explainable — every match satisfies a visible, inspectable condition. That matters in regulated hiring contexts where you need to document exactly why a search returned what it returned.
The two approaches are not mutually exclusive. Lexical retrieval can preserve exact-term evidence while embeddings broaden recall beyond shared vocabulary. A reranker can then compare the query with a bounded candidate representation, and hard filters can enforce requirements that should not be approximated. Each stage can also fail differently: lexical search can miss synonyms, dense search can return conceptually adjacent but unsuitable profiles, and a hard filter can exclude a relevant person when the underlying profile field is missing or stale.
The benchmark we preregistered
Generic examples are easy to cherry-pick, so Traceroster now has a fixed evaluation artifact instead of claiming that semantic search is universally better. The candidate retrieval benchmark documents:
- 20 synthetic candidate profiles with no real candidate or protected-attribute data;
- 10 recruiter queries frozen before the final hybrid run;
- explicit remote and minimum-experience filters;
- a 0–3 relevance rubric for every query-profile pair; and
- Precision@5, NDCG@5, zero-result rate, and hard-filter pass rate as the declared metrics.
The repository harness validates the input and can run the lexical baseline. The current draft judgments still require a named human reviewer, and the configured embedding/reranking path still requires an authorized run. Until both gates close, this page does not publish comparative scores or claim that one method won. The corpus is deliberately small and synthetic; even completed results will describe this test, not recruiter productivity, candidate quality, fairness, interviews, or hiring outcomes.
How Traceroster applies this
Traceroster's source implementation performs dense embedding retrieval against a talent pool of candidates who opted into discovery. It can add BM25 lexical retrieval, reciprocal-rank fusion, relevance gates, and cross-encoder reranking when those stages are enabled and available. Deployment flags must be verified before describing every optional stage as live. Recruiters write the query in plain English rather than using a visible boolean-query builder, and hard requirements still need deliberate confirmation. See AI candidate search for the product workflow, or Traceroster candidate sourcing software for its scope and boundaries.
Frequently asked questions
Does semantic search return worse results if I write a vague query?
A vague query returns a broad match, similar to how a broad boolean string with few constraints returns a wide result set. Specificity helps both approaches; semantic search does not fix an underspecified question, it just removes the requirement that the specificity be expressed as exact keywords.
Can I combine filters like location or remote status with a semantic query?
They can be expressed in a query or applied as structured filters when a product supports them, but a hard requirement should not be treated as semantic similarity. Location, remote eligibility, authorization, and exact credentials need explicit fields or confirmation when a false positive would make the candidate ineligible. See how recruiters search candidates using plain English for query-writing examples.
Is semantic search just "AI guessing" at fit?
It is a defined retrieval and ranking mechanism, but that does not make every result correct or fully explainable. Embedding models, index contents, thresholds, filters, and rerankers all affect the output. A useful evaluation therefore freezes those inputs, records failures, and separates relevance evidence from a final hiring judgment.
The takeaway
Keyword and boolean search match exact tokens and require you to predict a candidate's vocabulary. Semantic search matches meaning, so "led a small engineering team" and "managed four engineers" can surface as the same fit even though they share no words. Boolean logic still has a role for compliance-driven, auditable, or narrowly literal requirements, but for the general case of finding a passive candidate who described their work in their own words, meaning-based matching closes a gap keyword search cannot. See pricing to try plain-English search on your own req.