What Is Boolean Search � and Why It Exists
The concept, the context, and the number you must never forget.
Topic 2 � Step 1
Topic 2 � Step 2
Topic 3 � YOU ARE HERE
Topic 3 � Part 2
Week 1
Your TSTE table identified what to look for. Boolean Search is the system that tells the job board how to find it. Think of TSTE as your blueprint and the Boolean string as the search command you type. Every step in this chain affects the next � a weak Boolean string means wasted hours on screening calls for the wrong candidates.
Every sourcing session has a goal. That goal is not "as many candidates as possible." It is a pool of 150�200 relevant profiles. Here is why that number matters:
Every step degrades if the Boolean string is wrong. Contaminated sourcing = wasted screening hours = missed placements = missed revenue.
The 6 Boolean Operators
Learn all six. Misuse any one of them and your search either returns nothing or returns everything.
Real-world logic: If you have 1,000 Java resumes and add AND Spring Boot, you might be left with ~400 (those who have both). Add AND REST API and you're at ~200. This is intentional narrowing.
Why this matters: One candidate writes "Java Developer" on their resume. Another writes "Software Engineer." Another writes "Backend Developer." Without OR, your string misses two out of three.
Best use case: When a very common word is contaminating your pool. Classic example: searching for Java developers and getting JavaScript developers polluting your results. Adding NOT JavaScript filters them out � carefully.
Math analogy: 2 + 3 � 4 = 14, not 20. Multiplication (like AND) evaluates before addition (like OR) unless you use parentheses. This is the exact same rule.
Why it matters: Without quotes, "Spring Boot" matches a resume that says "... spring semester project using node... then bootcamp..." � an irrelevant result. With quotes, it only matches candidates who actually wrote Spring Boot as a technology.
Critical limitation: LinkedIn Recruiter does NOT support NEAR. If you copy a Dice string containing NEAR into LinkedIn, it returns zero results with no error message � it silently fails. Always check platform support before using.
Building a String � Layer by Layer
From TSTE table to complete Boolean string. One rule governs everything: OR within a layer, AND between layers.
AND connects DIFFERENT skill layers.
One layer = one concept. Never mix different concepts inside the same OR group.
AND ("Spring Boot" OR "Spring Framework" OR "Spring MVC")
AND ("REST API" OR RESTful OR Microservices OR "Microservice Architecture")
AND ("Java 11" OR "Java 17" OR Java)
AND (AWS OR Docker OR Kubernetes OR Jenkins OR Agile OR Scrum)
| TSTE Row | Maps To | String Layer |
|---|---|---|
| T � Title | Layer 1 (title OR group) | "Java Developer" OR "Software Engineer" OR... |
| S � Skills | Layers 2, 3, 4 (one AND per core skill) | "Spring Boot" � "REST API" � Java versions |
| T � Tools | Layer 5 (preferred group � all in one OR) | AWS OR Docker OR Kubernetes OR Jenkins |
| E � Education | ? NOT inside the string | Use the platform's built-in experience/education filters only |
Platform Syntax � Dice vs LinkedIn Recruiter
Same Boolean logic, different syntax rules. Know both platforms before you type a single character.
The 3-Pass Framework � Strict to Relaxed
Never start wide and narrow. Always start strict, validate accuracy, then expand deliberately.
AND ("Spring Boot")
AND ("REST API" OR Microservices)
AND (AWS OR Docker)
� Yes, 7+ out of 10 are relevant ? add to hotlist and move to Pass 2
� No, string seems to be returning wrong candidates ? string is broken. Fix it before continuing. Do NOT move to Pass 2 yet.
AND ("Spring Boot" OR "Spring Framework") ? expanded from Pass 1
AND ("REST API" OR Microservices OR "Web Services") ? more synonyms added
? AWS/Docker layer removed to broaden the pool
AND ("Spring Boot" OR "Spring Framework" OR "Spring MVC" OR Spring)
| Role Type | Pay Rate | Starting Radius | Notes |
|---|---|---|---|
| CNA, Phlebotomist | $18�22/hr | 15�20 miles | Low pay = small commute tolerance. Urban areas: 10 miles. |
| LPN, MLT | $30�40/hr | 20�25 miles | Mid pay. Start at 20 miles, expand if needed. |
| RN, Java Engineer | $50�65/hr | 25�30 miles (cap) | Cap at 30 miles even though math suggests more. |
| Senior RN, Sr Engineer | $70�85/hr | 30 miles (cap) | High earners commute more but cap prevents low-quality noise. |
| Remote role (any) | Any | State / National | No commute constraint. Start statewide, expand nationally. |
Reading Your Results � The 4-Scenario Decision Tree
You run your Pass 1 string. Here is the exact action for every possible outcome.
- Run the SAME string nationally (remove location filter first)
- If national = many ? geography is the problem, not the string
- If national = still few ? string is over-AND-ed. Remove 1 AND layer (start with least critical)
- Check keyword mismatch � look at 5 actual profiles: what language do those candidates use?
- Never assume "no candidates exist" without testing nationally first
- Sample 10 random profiles. If 8+ are qualified � proceed
- Start screening immediately � these are your best candidates
- Add to hotlist as you screen. Track availability and pay rate
- After screening 30�40: consider narrowing radius if pool is very large
- Sample 10 profiles � identify what type of irrelevant candidates keep appearing. That is your contaminant.
- Add NOT [contaminant] � one at a time only
- Example: JavaScript devs appearing ? add NOT JavaScript (but check this doesn't remove genuine Java+JS profiles)
- Remove one thing. Retest. Then decide. Never remove multiple things simultaneously.
- If 500+: tighten OR groups, add a preferred skills AND layer, reduce radius
- This is a good problem � save loose string for Pass 2
- Add one more AND layer (a core skill left out of Pass 1)
- Add 'last active' recency filter (active within 3�6 months)
The 8 Common Errors � With Broken Strings and Fixes
Every one of these will happen to you. Recognise them early � the fix is always faster than the consequence.
The most common structural error. It silently produces wrong results � and the recruiter never realises because the string looks almost correct.
? Java generalists (no Spring needed!) OR J2EE+SpringBoot candidates OR Spring Framework+REST candidates. Pool is contaminated with irrelevant Java developers who have no Spring experience at all.
Root cause: JDs are written by hiring managers using business language. Resumes are written by candidates using their own vocabulary. These two vocabularies often do not match � and the right candidate is invisible if you only search with JD language.
| JD Language (What the Client Wrote) | Why Candidates Don't Write That | What Candidates Actually Write |
|---|---|---|
| Microservices Architecture | Too formal � candidates name what they built | Microservices, distributed systems, SOA, API-based, REST services |
| Machine Learning Engineering | Job title language � candidates name their tools | Python, TensorFlow, PyTorch, scikit-learn, ML model, data scientist |
| Electronic Health Record proficiency | HR jargon � candidates name the actual system | Epic, Cerner, Meditech, PointClickCare, EMR, EHR |
| Stakeholder communication | Soft skill phrase � meaningless as a keyword | Presented to, reported to, collaborated with, client-facing |
| Agile Software Development Lifecycle | Formal � candidates use abbreviations | Agile, Scrum, Kanban, JIRA, sprints, standups |
| Customer Relationship Management | System category � candidates name the product | Salesforce, HubSpot, Dynamics 365, CRM, SFDC |
Consequence: Each AND layer reduces your pool by approximately 50%. Seven AND layers = 1/128th of your starting pool. You will almost certainly get zero results.
Fix: Merge the last 2�3 AND layers into one OR group (preferred skills). Only deal-breaker and core skills get their own AND layer. Preferred tools all go in one grouped OR.
Consequence: Removes candidates who listed those as secondary skills. A Java developer who also knows Python (extremely common) gets excluded permanently. You lose real candidates.
Fix: One NOT at a time. Only add a NOT if a specific term is contaminating a large percentage of results. Remove one term and retest before adding the next NOT.
Consequence: Technically harmless for most single words, but may miss plural or abbreviated forms. Wastes quote marks and in combination with other issues can reduce accuracy.
Fix: Only quote multi-word phrases. Single words like Java, Python, Docker do not need quotes.
Consequence: Zero useful results. Soft skills are not searchable keywords � candidates do not consistently put "team player" on their resumes in a way that Boolean can reliably match.
Fix: Remove ALL soft skill terms from your Boolean string. Assess communication skills, attitude, and soft traits during the screening call, not the sourcing stage.
Consequence: Misses all candidates who titled themselves differently. You create an artificially thin pool for a role that has plenty of candidates � you just couldn't find them.
Fix: Always include 4�6 title variants in your first OR layer. Use the TSTE T-row to generate these before building the string.
Consequence: Phrase search returns zero results � no candidate has written that exact sentence on their resume. Also captures legal boilerplate if the JD text appears elsewhere on the platform.
Fix: Never paste JD sentences. Extract only the keywords (skills, tools, titles) from the JD. The TSTE table IS this extraction � use it. If you built your TSTE table correctly, you should never need to copy JD text.
Hotlists � Your Fastest Source Before Any Boolean Search
A warm candidate who already knows you converts 3� faster than a cold Boolean lead. Always check your hotlist first.
Practice � Build the Business Analyst Boolean String
Your Topic 2 TSTE homework is the input. This activity is the output. Use this section as your step-by-step guide.
AND ("requirements gathering" OR "business requirements" OR BRD OR FRD)
AND (SQL OR "data analysis" OR Excel OR "data modelling")
AND (Agile OR Scrum OR Waterfall OR "project management")
| Your Result Count | Status | Action |
|---|---|---|
| <20 | Too few | Remove 1 AND layer. Run nationally. If still few ? keyword mismatch (look at 5 profiles, check their actual language) |
| 20�150 | Good range | Sample 10. If 7+ are relevant ? proceed to screening. Flag the irrelevant 3 � identify the contaminant. |
| 150�500 | Large pool | Add one more AND layer (a tool or preferred skill) to sharpen Pass 1, or save loose string for Pass 2. |
| >500 | Over-broad | Add an AND layer or narrow radius. Do not start screening a 500-person pool � most will be wrong. |
Tick each one as you feel genuinely confident. Your progress bar updates with each check.
Self-Test Quiz � 10 Questions
Test your understanding before the trainer session. No scores saved � this is purely for your own revision.
Glossary � 20 Terms You Must Own
Every term you will hear on the job, in training, and during debrief sessions.