> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clearcue.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Advanced Job Title Search

> Use boolean operators and PostgreSQL tsquery syntax to precisely filter job titles and descriptions in the Job Search signal.

The [Job Search signal](/job-search-signal) has two modes for matching job titles: a simple substring mode and an advanced boolean mode. This guide covers advanced mode — what it can do, and when to reach for each operator.

<Info>
  This guide applies to the **job title** field in advanced mode only.

  The **description keywords** field supports only `OR` and quoted phrases (`"…"`). No `AND`, `NOT`, proximity, wildcards, or parentheses — anything else is matched literally.
</Info>

## Description keywords

The description field matches job descriptions on keywords or phrases.

| Input                            | Matches descriptions containing    |
| -------------------------------- | ---------------------------------- |
| `migration`                      | the word `migration`               |
| `"cloud migration"`              | the exact phrase `cloud migration` |
| `AWS OR Azure OR GCP`            | any of the three terms             |
| `"data platform" OR "data lake"` | either phrase                      |

Use simple comma-free `OR` lists. Quote multi-word phrases. Anything else (AND, NOT, parentheses, wildcards) is sent to the API as-is and will almost certainly return nothing.

## Simple vs advanced mode

| Mode                     | Input                           | What it matches                                                            |
| ------------------------ | ------------------------------- | -------------------------------------------------------------------------- |
| **Simple** (default)     | `Head of Sales`                 | Jobs for the role you typed — word order and minor variations don't matter |
| **Advanced** (toggle on) | `"Head of Sales" OR "VP Sales"` | Jobs matching your boolean expression exactly                              |

Switch to advanced mode when:

* You need to match **multiple variations** of a title (`VP OR Director OR Head`)
* You want to **exclude** terms (`Engineer NOT junior`)
* You care about **word proximity** (`senior <-> engineer`)
* You want a **prefix match** (`engineer:*` matches engineer, engineering, engineers)

## Core boolean operators

### OR

Finds titles containing **either** term.

```
CEO OR founder
```

| Title                   | Matches? |
| ----------------------- | :------: |
| CEO & Founder           |    Yes   |
| Founder, Acme Corp      |    Yes   |
| Chief Executive Officer |    No    |

### AND

Finds titles containing **both** terms.

```
senior AND engineer
```

| Title                  | Matches? |
| ---------------------- | :------: |
| Senior Engineer        |    Yes   |
| Senior Product Manager |    No    |
| Engineer               |    No    |

### NOT

**Excludes** titles containing the term.

```
engineer NOT junior
```

| Title                | Matches? |
| -------------------- | :------: |
| Senior Engineer      |    Yes   |
| Junior Engineer      |    No    |
| Software Engineer II |    Yes   |

### Phrases with quotes

Quote multi-word phrases to match them as a unit.

```
"Head of Sales"
```

| Title                | Matches? |
| -------------------- | :------: |
| Head of Sales        |    Yes   |
| Head of Global Sales |    No    |
| Sales Head           |    No    |

<Warning>
  In advanced mode, **multi-word tokens must be quoted** (`"senior engineer"`) or joined with the proximity operator (`senior <-> engineer`). Bare spaces between words will cause the query to reject your input.
</Warning>

### Parentheses for grouping

Group terms to control evaluation order.

```
(CEO OR founder) AND startup
```

Without parentheses, this would be interpreted as `CEO OR (founder AND startup)` — a different query.

## Advanced operators

These operators extend beyond basic LinkedIn-style boolean search.

### Proximity: `<->` (followed by)

Matches when two terms appear **in that order, one after the other**.

```
senior <-> engineer
```

| Title                    | Matches? |
| ------------------------ | :------: |
| Senior Engineer          |    Yes   |
| Senior Software Engineer |    No    |
| Engineer, Senior         |    No    |

Use `<->` when word order matters and you want exactly adjacent words. For more flexibility, combine it with phrases:

```
"senior software" <-> engineer
```

### Distance: `<N>` (followed by, within N words)

Matches when the first term is followed by the second within **N words**.

```
senior <2> engineer
```

| Title                         | Matches? |
| ----------------------------- | :------: |
| Senior Engineer               |    Yes   |
| Senior Software Engineer      |    Yes   |
| Senior Product Staff Engineer |    No    |

### Prefix wildcard: `:*`

Matches any term that **starts with** the given prefix.

```
engineer:*
```

| Title               | Matches? |
| ------------------- | :------: |
| Engineer            |    Yes   |
| Engineering Manager |    Yes   |
| Engineers           |    Yes   |
| Software Engineer   |    Yes   |
| Develop             |    No    |

Prefix wildcards work well for catching plural and derived forms without listing each one explicitly.

## Combining operators

All operators compose. A few real-world patterns:

### Exact leadership titles, exclude interim roles

```
("VP Sales" OR "Head of Sales" OR "Chief Revenue Officer") NOT (interim OR acting)
```

### Engineering leaders with prefix matching

```
(engineer:* OR developer:*) AND (lead OR principal OR staff OR head)
```

Matches Engineering Manager, Software Engineer Lead, Principal Developer, etc. — without listing every variation.

### Senior roles in a specific function, regardless of title word order

```
("Customer Success" OR "Account Management") AND (senior:* OR lead OR director)
```

### Proximity-aware search

```
"Head of" <-> (Sales OR Marketing OR Growth)
```

Matches "Head of Sales", "Head of Marketing", "Head of Growth" — but not "Sales, Head of Global".

## Operator precedence

Without parentheses, operators evaluate in this order (highest to lowest):

1. `"..."` — phrases
2. `:*` — prefix wildcards
3. `<->` / `<N>` — proximity
4. `NOT` / `-`
5. `AND`
6. `OR`

**Example:**

```
sales OR marketing AND manager
```

Is interpreted as `sales OR (marketing AND manager)`, not `(sales OR marketing) AND manager`.

<Tip>
  Always add parentheses when you mix operators. They make intent clear and prevent precedence surprises.
</Tip>

## Common mistakes

### Bare multi-word tokens

```
senior engineer
```

In advanced mode, this is invalid — a bare space between words will reject the query. Use one of these instead:

| Fix                   | Meaning                                 |
| --------------------- | --------------------------------------- |
| `"senior engineer"`   | Exact phrase                            |
| `senior <-> engineer` | Senior immediately followed by engineer |
| `senior AND engineer` | Both words, anywhere in title           |

### Lowercase operators

```
ceo or founder
```

Operators must be uppercase: `OR`, `AND`, `NOT`. Lowercase words are treated as search terms.

### Prefix wildcard before the word

```
*engineer
```

Prefix wildcards go **after** the word, not before. Use `engineer:*` instead.

### Unbalanced parentheses

```
(CEO OR founder AND startup
```

Missing closing paren. Count them as you write.

## Build your query step by step

<Steps>
  <Step title="Start with the simple mode">
    If a single phrase works, leave advanced mode off. Don't over-engineer.
  </Step>

  <Step title="Flip advanced mode when simple isn't enough">
    Enable advanced mode the moment you need OR, NOT, or variations.
  </Step>

  <Step title="Use phrases for exact matches">
    Quote anything that's more than one word: `"Head of Sales"`.
  </Step>

  <Step title="Add prefix wildcards for word families">
    `engineer:*` is shorter and more complete than `engineer OR engineering OR engineers`.
  </Step>

  <Step title="Exclude noise with NOT">
    Add `NOT junior` or `NOT intern` to keep your signal focused on the seniority level you care about. The [seniority filter](/job-search-signal#seniority) is a cleaner alternative when it applies.
  </Step>

  <Step title="Preview before saving">
    Click **Preview** in the dialog. If the first 5 results look right, the full signal will be clean.
  </Step>
</Steps>

## Quick reference

| Operator    | Syntax              | What it does                  |
| ----------- | ------------------- | ----------------------------- |
| OR          | `A OR B`            | Either term                   |
| AND         | `A AND B`           | Both terms                    |
| NOT         | `A NOT B` or `A -B` | Exclude term                  |
| Phrase      | `"exact phrase"`    | Multi-word exact match        |
| Group       | `(A OR B) AND C`    | Control precedence            |
| Followed by | `A <-> B`           | A immediately before B        |
| Distance    | `A <N> B`           | A within N words before B     |
| Prefix      | `word:*`            | Any term starting with `word` |

<Card title="Back to the Job Search signal" icon="arrow-left" href="/job-search-signal">
  Return to the full Job Search signal reference.
</Card>
