Disclosure: some links in this article are affiliate links. If you sign up through one, HeroHunt may earn a commission at no extra cost to you.
When LinkedIn tested boolean search against the queries recruiters actually type, it found that boolean returned zero results for nearly half of them, and that faceted search, the fallback, surfaced large numbers of unqualified profiles - LinkedIn Engineering. That is the honest state of filter-based sourcing: half the time it hands you an empty page, and the rest of the time it hands you the wrong people.
The reason is structural, not a tuning problem. Filters retrieve strings. Hiring is about meaning. A candidate who "owned the migration from a monolith to services across four squads" never wrote the words "cross-functional leadership" on their profile, so no filter will ever find them for that requirement. Semantic search closes that gap by matching on what a profile means rather than which characters it contains.
This guide covers what semantic search actually does under the hood, why keyword search fails in the specific ways it does, why filters are not actually dead (the part most articles on this get wrong), the five phases of putting it to work, and where you can genuinely buy this today at what it really costs.
What semantic search actually is
Semantic search converts text into embeddings: long lists of numbers that encode meaning as a position in space. Profiles that mean similar things land near each other, regardless of vocabulary. "Shipped the payments rewrite" and "led backend re-architecture for billing" share almost no keywords but sit close together as vectors. The search is then a geometry problem: encode the query the same way and fetch its nearest neighbours.
LinkedIn's production system is the clearest public example of this, and it is worth understanding because it shows the shape every serious implementation takes. Its MUSE engine (Member Understanding Semantic Embeddings) uses a dual-tower design where a single shared model encodes both the recruiter's query and the member profile into the same space. Profile embeddings for over 1.3 billion members are computed offline in advance, so at search time only the query has to be encoded, and the match becomes a vector lookup instead of a reasoning task.
The detail that matters practically is retrieve then rank, a two-stage split you should carry as your mental model. LinkedIn retrieves a broad candidate pool using truncated 2,048-dimension vectors optimised for speed, then re-scores the survivors with the full 4,096 dimensions for fidelity. Cheap and approximate first to get the pool down, expensive and precise second on the shortlist. Nearly every semantic product you evaluate is doing some version of this, and knowing it tells you where a bad result came from: a candidate who was never retrieved is a coverage problem, while a bad candidate ranked first is a scoring problem. Those have different fixes.
The efficiency work behind this is the reason it shipped at all. In the accompanying research, LinkedIn describes distilling a large relevance model into a compact 0.6B-parameter ranker, then pruning it further, to lift ranking throughput over 75x under a fixed 500ms latency budget - Semantic Search At LinkedIn. Semantic quality was never the hard part. Serving it to millions of recruiters without the page hanging was.
Why boolean fails, specifically
Boolean search fails in three distinct ways, and separating them is useful because each has a different consequence for your pipeline. The first is vocabulary: the same qualification gets described in dozens of ways, so any string you pick is a bet on which phrasing your candidate happened to use. The second is that many real requirements have no structured field to filter on at all. Problem-solving ability, cross-functional leadership and depth in a domain are not checkboxes, and no amount of boolean operators conjures a field that does not exist.
The third failure is the one that quietly costs the most, and it is behavioural rather than technical. When a precise query returns nothing, recruiters do not stop. They loosen it. They drop the qualifier that mattered, swap AND for OR, and widen until results appear. The query that returns 400 people is not a better query, it is a surrendered one, and the screening burden created by that surrender is exactly what "we get too many irrelevant candidates" actually means. Boolean's zero-result rate and its irrelevance rate are the same problem measured at two different moments.
This is also why "just write better boolean" has been unsatisfying advice for a decade. It is real skill, and the best sourcers are genuinely good at it, but it is skill spent compensating for a tool that cannot represent the thing being searched for. Semantic search does not make sourcers redundant, it moves their skill from string construction to describing the role precisely, which is a better use of the same expertise.
Filters are not dead, they moved
Here is the correction to this article's own premise: the winning architecture is hybrid, not semantic-only. Dense vector search and keyword search fail in opposite directions, so production systems run both and fuse the results, typically with reciprocal rank fusion, then apply a reranking pass over the merged shortlist. Keyword retrieval remains better at exact tokens: a specific certification code, a licence number, an uncommon framework name. Embeddings treat a rare acronym as just another token and will happily return things that are merely about the same area.
The line to draw is between preference and constraint. Semantic matching is right for everything fuzzy: seniority, scope of ownership, adjacent domain experience, the quality of someone's judgement as evidenced by what they shipped. Hard filters stay hard for anything binary and legal. Work authorisation, location, an active clearance, a required licence to practice. A vector is a similarity score, and "similar to authorised to work in the EU" is not a status any compliance team will accept. Teams that get burned by semantic sourcing usually got burned exactly here: they let a fuzzy match answer a binary question.
So "filters are dead" is really "filters lost their promotion". They stopped being the primary retrieval mechanism and became the guardrails around one. That is a demotion, not a funeral.
How to get started with semantic search in recruitment
The transformation is driven by embeddings, large language models and the serving infrastructure that makes them fast enough to sit behind a search box. These are not additions to the recruiter's toolkit, they change which skills the job rewards. Below are five phases, ordered the way teams actually adopt them, and each one is worth doing on its own even if you never reach the next.
- Understanding the transformation
- Leveraging semantic search in talent sourcing
- Utilizing AI in candidate engagement and communication
- Embracing data-driven recruitment
- Preparing for the future
1. Understanding the transformation
The first step is calibrating what actually changed, because the marketing around this is much larger than the shift itself. What changed is the retrieval layer: search now operates on meaning, so a query can describe a person instead of enumerating the strings they might have typed. What did not change is judgement. Semantic search finds people who plausibly fit a description. It does not know whether your hiring manager will like them, whether the role is really as scoped, or whether the profile is honest.
Key takeaway: semantic search upgrades retrieval, not decision-making. Expect a better shortlist, not fewer decisions.
2. Leveraging semantic search in talent sourcing
The practical skill to build here is writing a description instead of a query. Semantic engines reward specificity in plain language and punish keyword-stuffing, which is the exact inverse of boolean instincts. "Senior backend engineer who has taken a payments system from a single service to a distributed one at a company past Series B, and mentored juniors while doing it" is a good semantic query. The same intent expressed as ("backend" OR "back-end") AND payments AND senior is a worse one, because you have thrown away every constraint that mattered and kept only the ones that were easy to type.
Three things follow from that, and they are where most of the practical gain sits:
- Describe outcomes, not titles: titles are the least standardised field on any profile, and semantic search is specifically good at routing around them.
- Keep hard constraints as filters: put location, work authorisation and licences in the structured filters, and leave everything fuzzy to the description.
- Search your own database first: your ATS holds people you already sourced, screened and rejected for a different role, and it is the cheapest pool you own.
That last point is where the biggest untapped win usually is, and it is consistently underrated. Most teams have spent years pouring candidates into an ATS that could only retrieve them by keyword, which means the database has effectively been write-only. Silver medallists from an old req are invisible to a keyword search that does not guess their phrasing. A semantic pass over your own records surfaces people you have already paid to find, already have consent to contact, and already have notes on. Nothing in external sourcing beats that economics.
3. Utilizing AI in candidate engagement and communication
Semantic matching changes outreach as much as it changes search, because a system that understands why a candidate matched can say so in the message. The reason a match exists ("you took a monolith to services at a company this size") is exactly the sentence that makes an InMail credible, and it is now available as a byproduct of retrieval rather than as fifteen minutes of manual profile reading.
The failure mode is obvious enough that it needs stating: the same capability makes generating high-volume, superficially personalised outreach effortless, and candidates recognise the pattern quickly. The winning use is fewer, better-reasoned messages that reference something real. Personalisation was never the point. Being right about the person was.
4. Embracing data-driven recruitment
This phase is where most teams measure the wrong thing, so it is worth being blunt: if semantic search is working, your candidate volume should go down. LinkedIn's own two-week A/B test of its semantic sourcing stack is the cleanest illustration available. Candidates sourced per seat fell around 4%. Over the same window the highly relevant rate rose 2.7% and InMail sends per recruiter seat rose 4.1%.
Read that shape carefully, because it is the entire argument in one result. Recruiters saw fewer candidates and contacted more of them. That only happens when the ones they saw were worth contacting. A dashboard that rewards profiles-surfaced would have flagged this rollout as a regression. The metrics worth tracking are the ones downstream of the search box: what share of surfaced candidates get contacted, what share of contacted candidates reply, and what share reach a hiring manager screen. Volume was never the goal, it was just the only thing keyword search could give you a big number for.
5. Preparing for the future
The direction of travel is from search box to agent. LinkedIn's semantic stack was not built to make a search bar smarter, it was built to serve Hiring Assistant, an agent that takes a role description and works a pipeline against it, sold as a paid add-on to Recruiter rather than an included feature. The retrieval layer described in this article is the plumbing underneath that product category.
What that means for your planning is narrower than it sounds. Agents inherit every property of the retrieval they sit on, including its blind spots, and they add a new one: they act without you watching each step. Before handing an agent a req, you want to have already answered the boring questions from phase 4, because an agent that optimises against a bad metric will do so far faster than a recruiter ever could.
Where you actually get this today
There are two places semantic search shows up in a real recruiting stack, and they are separate purchases that solve separate problems. Confusing them is the most common budgeting error here.
The first is external sourcing: finding people who are not in your database. This is LinkedIn Recruiter with Hiring Assistant layered on, priced by quote and firmly in enterprise territory, or a dedicated AI sourcing platform. HeroHunt.ai sits in this category, running natural-language search across a pool of over a billion profiles and handling the outreach on autopilot, with a free tier to test the approach before committing budget. The second is your own database, which is the cheaper problem and the one more teams should solve first, because you have already paid to fill it.
HeroHunt.ai
If your problem is the first one (the people you need are not in your database yet), this is the L1 half of the retrieve-then-rank split described above, and it is a different purchase from ATS scoring. HeroHunt.ai takes a plain-language description of the role rather than a boolean string, retrieves across more than a billion profiles, and runs the outreach from the same place, so the reason a candidate matched is available as the first line of the message. The honest limits: it does nothing for the silver medallists already sitting in your ATS, which is the cheaper win this article argues you should take first, and like every semantic engine it should never be the thing deciding work authorisation or a required licence. Keep those as hard filters, exactly as the section above says.
Semantic matching over your own ATS
Manatal is the most accessible example of the second category, and it is worth looking at closely because it illustrates what SMB-priced semantic matching does and does not include. Its AI Recommendations feature reads a job description, extracts the requirements from it, then scores and ranks every candidate in your database against them, with a per-requirement breakdown showing where each person meets or misses each criterion. You can weight skills, experience and education against each other rather than accepting the vendor's opinion of what matters.
Be precise about what that is architecturally, because it is the L2 half of the retrieve-then-rank split described earlier and not the L1 half. It is scoring and ranking over records you already hold, not billion-scale embedding retrieval over the open web, and it starts from your job description rather than from a free-text query you compose. For database rediscovery, which is the highest-ROI semantic use case for most teams, that is precisely the right tool. It is not a substitute for external sourcing, and a vendor claiming one product does both is worth a raised eyebrow.
Manatal
If the pitch of this article lands (your ATS is full of people keyword search cannot find), the cheapest test is an ATS that scores your own database against a job description instead of grepping it. Manatal publishes a price for that, which most ATS vendors will not: $15 per user per month billed annually, or $19 month to month, with a 14-day trial that takes no card. The catch to know before you compare: that $15 tier caps at 15 active jobs and 10,000 candidates, and if your database is old enough to be worth re-mining it is probably past 10,000, which puts you on the $35 tier where the cap lifts. API access is higher still, at $55.
The decision framework
Strip it back to three questions and the choice gets simple. Is the problem that you cannot find people, or that you cannot find the people you already have? If it is the second, start with semantic matching over your own database, because it is cheaper, faster to prove and the candidates are warmer. If it is the first, you are buying an external sourcing engine and should judge it on retrieval coverage, not on how good the demo query looked.
Second: which of your requirements are constraints, not preferences? Write them down before any demo, and confirm they live in hard filters rather than in the semantic layer. If a vendor tells you their model handles work authorisation "semantically", that is a red flag.
Third: what will you measure? Agree before rollout that a drop in candidate volume alongside a rise in contact and reply rates is the success case, not a regression. Otherwise the first monthly report will kill the project on exactly the evidence that proves it is working.
The move from filters to context is not really a technology story. It is a change in what recruiters are asked to be precise about. Boolean asked you to be precise about characters. Semantic search asks you to be precise about people, which is the thing recruiters were always better at anyway.
Written by Yuma Heymans (@yumahey), who built HeroHunt.ai, the world's first AI Recruiter, and has spent the years since 2021 building semantic candidate search over more than a billion profiles, including all the parts that do not demo well.
Pricing and product details in this guide were verified in July 2026. Vendors change tiers and caps often, so confirm against the vendor's own pricing page before you buy.








