Dynamics ATS Power Search has full support for Boolean operators. Here are the most common to get you started. 



Boolean Search Operator: AND

The AND operator is inclusionary and thus limits your search.

It should be used for targeting required skills, experience, technologies, or titles you would like to limit your results to. Unless you are searching for common words, with every AND you add to your Boolean query, the fewer results you will typically get.

Example: Java AND Oracle AND SQL AND AJAX

On most Internet search engines and LinkedIn, every space is an “implied AND,” and you don’t have to type it, as every blank space is interpreted as an AND operator.

Example: Java Oracle SQL AJAX


Boolean Search Operator: OR

The OR operator offers flexible inclusion, and typically broadens your search results.

Many people incorrectly think the Boolean OR operator is an either/or operator, when in fact it is not.

The OR operator is technically interpreted as “at least one is required, more than one or all can be returned.”

Although some search engines, such as Google, do not require you to encapsulate OR statements with parentheses, if you don’t on most databases and LinkedIn – your search will run but execute in a way that you probably did not intent.  As a best practice, I tell people to always use parentheses around OR statements as a matter of good search syntax.

Example: Java AND Oracle AND SQL AND AJAX AND (apache OR weblogic OR websphere)

The returned results must mention at least one of the following: apache, weblogic, websphere. However, if candidates mention 2 or all 3, they also will be returned, and will rank them as more relevant results because of such.

The best ways to use OR statements is:

  1. To think of all of the alternate ways a particular skill or technology can be expressed, e.g., (CPA OR “C.P.A” OR “Certified Public Accountant”)
  2. To search for a list of desired skills where you would be pleased if a candidate had experience with at least one, e.g., (apache OR linux OR mysql).


Boolean Search Operator: NOT

The NOT operator is exclusionary – it excludes specific search terms and so the query will not return any results with that term (or terms) in them.

Example: If you were searching for an I.T. Project Manager, you may want to employ the NOT operator in order to eliminate false positive results – results that mention your search terms but do not in fact match your target hiring profile.  In this case, you could run: “project manager” and not construction – this search will not return any results with “project manager” and the word “construction” contained within them.

You can use the NOT operator in conjunction with an OR statement.

Example: .Net AND NOT (Java OR JSP OR J2EE) – that search will not return any results with any mention of Java, JSP, and/or J2EE.

Bonus: NOT has 2 main uses

  1. Excluding words you do not want to retrieve to reduce false positive results (most common usage)
  2. Starting with a very restrictive search with many search terms, you can use the NOT operator to systematically and progressively loosen the search into mutually exclusive result sets (not so common usage, but very effective strategy)

Basic example:

  1. “Project Manager” AND SQL AND Spanish
  2. “Project Manager” AND SQL AND NOT Spanish
  3. “Project Manager” AND NOT SQL AND Spanish
  4. “Project Manager” AND NOT (SQL OR Spanish)

Bonus: You can use the minus sign as the NOT operator 


Boolean Search Modifier: ASTERISK *

The asterisk can be used as a root word/stem/truncation search. In other words, the search engine will return and highlight any word that begins with the root/stem of the word truncated by the asterisk.

For example: admin* will return: administrator, administration, administer, administered, etc.

The asterisk is a time saver because it saves you from creating long OR statements and having to think of every way a particular word can be expressed.


Boolean Search Modifier: PARENTHESES

As a best practice, use parentheses to encapsulate OR statements to execute them properly.

Remember, the OR operator is interpreted as “I would like at least one of these terms.” Think of parentheses as your way of telling the search you’re looking for one of THESE: (_______________).

For example: (apache OR weblogic OR websphere)

If you don’t enclose all of your OR statements, your search may run but it will NOT run as intended.


Boolean Search Modifier: QUOTATION MARKS ” “

Quotation marks must be used when searching for exact phrases of more than one word, or else some search engines will split the phrase up into single word components.

For example: “Director of Tax” will only return “Director of Tax.” If you searched for Director of Tax without the quotation marks, on some search engines, it will split up the words Director and Tax and highlight them as relevant matches even when not mentioned as an exact phrase.


Boolean Search Modifier: BOOSTING ^

Use the boost operator ^ to make one term more relevant than another. For instance, if we want to find all documents about foxes, but we are especially interested in quick foxes:

quick^2 fox

The default boost value is 1, but can be any positive floating point number. Boosts between 0 and 1 reduce relevance.

Boosts can also be applied to phrases or to groups:

"john smith"^2   (foo bar)^4


Boolean Search Modifier: FUZZINESS ~

We can search for terms that are similar to, but not exactly like our search terms, using the “fuzzy” operator:

quikc~ brwn~ foks~

This uses the Damerau-Levenshtein distance to find all terms with a maximum of two changes, where a change is the insertion, deletion or substitution of a single character, or transposition of two adjacent characters.

The default edit distance is 2, but an edit distance of 1 should be sufficient to catch 80% of all human misspellings. It can be specified as:

quikc~1


Boolean Search Modifier: PROXIMITY ~

While a phrase query (eg "john smith") expects all of the terms in exactly the same order, a proximity query allows the specified words to be further apart or in a different order. In the same way that fuzzy queries can specify a maximum edit distance for characters in a word, a proximity search allows us to specify a maximum edit distance of words in a phrase:

"fox quick"~5

The closer the text in a field is to the original order specified in the query string, the more relevant that document is considered to be. When compared to the above example query, the phrase "quick fox" would be considered more relevant than "quick brown fox".


Boolean Search Modifier: GROUPING ( ) 

Multiple terms or clauses can be grouped together with parentheses, to form sub-queries:

(quick OR brown) AND fox

Groups can be used to target a particular field, or to boost the result of a sub-query:

status:(active OR pending) title:(full text search)^2



There you have it – Boolean basics!