Bollean search for teapots and coffee pots

Checking student work on the course IT recruiter, I see that the topic of boolean and x-rey queries is difficult to understand. I want to try to tell the basics with examples so that it becomes much clearer.


Let’s start with logic. When we start working on a vacancy, we need to highlight the main criteria by which we will search.

For example, we need python backend developer with experience asynchronous programming.

God, what is asynchronous programming??? I still can’t figure it out with the usual one, but here it’s asynchronous!

The first law of an IT recruiter: what I don’t know, I’ll google.

When you search for “asynchronous programming” on Google, the first few articles are very good and simply tell you what it is. I won’t go deep now.

Even when we enter “asynchronous programming” in the search box, the first suggested search string will be “python asynchronous programming”. We follow the links with the description, we study. Well, it’s cool, right?!

Let’s return to our request. After reading a couple of articles, we understand that there are some technologies inherent in asynchronous programming. For example, frameworks. Google “python asynchronous programming frameworks”. We get the first line Top 5 Asynchronous Python Web Frameworks: Tornado, Sanic, Vibora, Quart, FastAPI. Let’s add asyncio itself to this. So we are already starting to type keywords for search. We can conditionally call such a set of keywords synonyms, since they belong to the same feature – in our case, asynchronous programming. You should always remember about synonyms, and try to think like a developer, but how else could he indicate this in a profile.

Let’s look further. The main technology that we see in the title of the post is python. This will also be our keyword. But analysts, data scientists, and testers can work with python.

Are you kidding me??? How to isolate them? (what a word, huh!)

It is difficult for a novice IT recruiter, of course, to understand such subtleties. But we all once did not know how to speak or walk. So let’s take a breath and sip. And we communicate with the developers to the maximum – they are the most valuable source of information.

So, about python and not testers. In order to make it clear which pythonists we need, the request contains the word backend. This article is for novice IT recruiters, so experts should keep silent about the fact that web frameworks will weed out analysts. I want to visually show how to think and choose keywords for search. Everything comes with experience, observation and practice. Those who read this now, in a year will smile at themselves today and understand how it was not scary.

So, python is added to our keywords.

And then there is the “developer”. Is it possible to search without this word?

Yes, you can, but this is the next series. Therefore, we add “developer” to our keywords. And we think as a developer: how can I call myself on my Linkedin profile? My profile is in English, which means developer. And there are also software engineers. So, this is also put in our treasury of keywords.

It turns out quite a lot of words for one request: Tornado, Sanic, Vibora, Quart, FastAPI, asyncio, python, developer, developer, software engineer. Does it have to be very accurate?

Yes. Zero. If in doubt – here is the link

Yes, how so?

Let’s figure it out. What is the probability that a developer uses all asynchronous frameworks at once? There are unique ones, of course, but even they may not add them all to their profile. Therefore, it is enough for us to mention one of the signs of asynchronous programming. The most common Tornado framework, it is worth starting with.

And what should the request look like then? Tornado developer software engineer?

Look search results. Does she suit you? I think no. Let’s explore further. Trying to think like a developer again. Will I list myself in three different roles on the same profile? This can also be, but the likelihood that you will meet just such a guy is still not so great.

But what if they can call themselves differently? We may not see developers if we only look for developers.

There are boolean query operators for this. And this is the next step in understanding how to look for developers.

Let’s first recap what keywords we have selected for search: Tornado, Sanic, Vibora, Quart, FastAPI, asyncio, python, developer, developer, software engineer. Let’s divide them by signs: programming language, scope, position, asynchronous programming. You get a label like this:

Please note that I also painted the backend differently.

If we asked in Russian, we would ask the question like this: “Does the profile contain such words as python, backend or back-end or back end, developer or developer or software engineer, asynchronous programming or asyncio or Tornado or Sanic or Vibora or Quart or FastAPI? Approximately also it is possible to ask a question and to the search engine. Only he will not understand our “or”, he is a machine, therefore there are operators that correctly translate our request to this machine. And this is a very important topic. Although these operators are logical, they still need to be remembered. Especially if your English is not very good (here I will say that English is definitely worth learning!). Operators are called logical, because in translation they mean exactly what they mean) Here are the main ones:

AND – needed to find pages that have all the specified keywords (for starters, you can write it to understand the logic of making a request, then you can replace it with a “space”).

OR – needed to cover categories that are essentially the same, but called by different words (hello, asynchronous programming).

» – is needed to exclude unnecessary words or phrases from the search (for example, we do not want guys from a certain company). Please note that there should not be spaces after the hyphen, otherwise the search engine will not consider the word as an exception.

() – is needed to group parts of the request and prioritize (here we will combine keywords according to features, in our case – programming language, scope, position, asynchronous programming).

“ ” – needed to search for exact phrases (and this is necessary for Google to take into account exactly “software engineer”, and not “… I like software. The engineer fixed…”). Please note that the English layout is important.

Let’s try to compose our query with these operators in mind.

(Developer OR developer OR “software engineer”) AND (Tornado OR Sanic OR Vibora OR Quart OR FastAPI OR asyncio) AND python

It’s great, right? We took into account all the factors, we are great! Here’s what sample we get it.

We collect laurels and enjoy our awesomeness!

AAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!!!!!!!!!!! How is that????????????!!!!!!!!!!!!!

Yes, life is not fair. But here we are to blame. Let’s analyze what’s wrong.

Our main issue is vacancies. It is logical to exclude this factor. We remember that we definitely think for those who post content – vacancy = vacancy = job = work = jobs. We need to exclude these words from our query. Will you try on your own?

(Developer OR developer OR “software engineer”) AND (backend OR back-end OR “back end”) (Tornado OR Sanic OR Vibora OR Quart OR FastAPI OR asyncio) AND python -vacancy -vacancy -job -job -jobs

We look what happened.

ABOUT! Already have Linkrdin profiles! Cool! But 225,000 (the figure may be different, even the location may affect the issue) is too much, how can I see everyone?!

We think, we think, we analyze. What do we like about search results? That’s right, Linkedin profiles. We see practically the resume of the candidate. How to make search results only with Linkedin profiles?

There is a logical operator for this:site:”- and this will already be an x-rey search, as if we are looking through a specific site for the words we need, like an x-ray.

Agree, is it logical? But remember that there should be no spaces between the operator and the site, otherwise the search engine will not perceive the site as a resource on which to search. Let’s try? How do you like search results? Cool, yeah? Do you want to fix something?

It would be great to see guys from Russia, is it possible somehow?

Ask! 😀

There are several ways to do this:

  • Add a location to the search query, for example, Moscow (but remember about “synonyms”, at least the English version).

  • Add a prefix to the site name, in our case it will be www.linkedin.com

We look what happens.

Are you silent? I see delight in the eyes) and it is necessary to clear a lot of extradition) But what!

What else is possible for us?!


And a lot more. For example:

title: – needed to search only in headings (for example, the position name “python developer”). The same rule applies here, if we need an exact phrase, we put it in quotation marks. It will look like this intitle:”python developer”

filetype: – needed to search for files of a certain format (mostly summaries are formed in .pdf format, but you can also find a lot of interesting things in .doc, .docx).

inanchor: – the current location that the candidate indicated in the linkedin profile (this is what is written in the profile header).


I highly recommend building a search strategy at the start. Find all the “synonyms” for all the necessary keywords, resources that we want to cover, some additional important technologies. Record all this on a plate and take it into account when searching. So we can keep track of what we have already searched for and what is not yet.

It is very important to remember some rules:

  • Search results in Google are limited, anything over 300 will not be relevant. It is necessary to form a request in such a way that the output is less than 300.

  • Synonyms do not have to be written immediately in one query. Advanced sourcers, on the contrary, do not like to do this. In order to take into account all the “synonyms”, there is an iterative search, this is when, having searched for one keyword, in the next iteration we exclude it, adding a new one (example: “Developer -developer – “software engineer”) AND (Tornado OR Sanic OR Vibora OR Quart OR FastAPI OR asyncio) AND python” – we searched separately for “developer” and “software engineer” and now we are looking only for “Developer”, and we have excluded other options).

  • We can always adjust the search results until it suits us.

This is a small part of what you can learn about sourcing. But fundamental. Without understanding this, it will be difficult to move on.

But then it will be much more interesting)


PS: I want to share some tools that make daily work much easier:

BOOL: Boolean Search Assistant query builder

Multi Highlight keyword highlighter on the page

The scope of sourcing is so vast that it is impossible to fit it all into one article. It is important not to stop at what you have learned, but to move on. I sincerely hope that I helped to understand the basic things of boolean queries. If you have any questions – ask, do not hesitate!

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *