# Full Text Search

Full-text search provides several options to **precisely define search queries** and narrow down results. The following features can be used **individually or combined**, depending on your use case.

When typing a word into the search field, you get suggestions where you can pick from or simply continue writing (for more details see below):

<table><thead><tr><th width="218.359375">OPTION</th><th>EXPLANATION</th></tr></thead><tbody><tr><td>Fulltext</td><td>Automatically adds wildcards left and right. Example: <code>*turm*</code></td></tr><tr><td>Exact Match</td><td>A case-sensitive search that only finds records where the whole value of a field match. Example: <code>`Fernsehturm`</code></td></tr><tr><td>Word Suggestions</td><td>Shows words from the index and searches without wildcards. Example: <code>'Berlin'</code></td></tr><tr><td>Lists</td><td>Shows entries from lists, vocabularies and thesauri.</td></tr></tbody></table>

### Searching for a Specific Word

#### Case Sensitivity

By default, full-text search is **case-insensitive**. This means that search results are returned regardless of capitalization.

Examples:

* `report`, `Report`, and `REPORT` return the same results.
* Searching for `programmfabrik` also matches `Programmfabrik`.

A case-sensitive search is only possible with the exact search (see below).

#### Word Search

The **word search** allows you to search for **exact word matches** across all searchable fields. The search is **not case-sensitive** and finds records where the specified word appears **anywhere within a text**, as long as it matches the complete word.

You can select a word directly from the **autocomplete suggestions**, or you can manually enter a word by enclosing it in **single quotes**, for example `'automobile'`. Using single quotes ensures that the term is treated as a whole word rather than part of a longer string.

#### Exact Search

The **exact search** allows you to find records where a specific field matches **exactly** the search term you enter. This type of search is **case-sensitive** and does not return partial matches or variations (add wildcards to achieve this).

If the field contains `fylr documentation`:

<table><thead><tr><th width="276.671875">Search Term</th><th>Result</th></tr></thead><tbody><tr><td><code>`FYLR`</code></td><td>❌ No match</td></tr><tr><td><code>`fylr documentation`</code></td><td>✅ Match</td></tr><tr><td><code>`documentation`</code></td><td>❌ No match</td></tr><tr><td><code>`Fylr Documentation`</code></td><td>❌ No match</td></tr><tr><td><code>`fylr*`</code></td><td>✅ Match</td></tr></tbody></table>

### Phrase Search

Phrase search allows you to search for an **exact sequence of words**. The words must appear in the specified order and directly next to each other.

To perform a phrase search, enclose the phrase in **quotation marks**.

Example:

```
"Berliner Fernsehturm"
```

This search returns only records where the complete phrase appears exactly as entered.

**Notes:**

* Case sensitivity is ignored.
* No additional words may appear between the phrase terms.
* Phrase search is especially useful for quotes, fixed expressions, or known text fragments.

### Boolean Operators

Boolean operators allow you to logically combine multiple search terms.

<table><thead><tr><th width="128.5234375">KEY</th><th width="187.8515625">SEARCH OPERATOR</th><th>EXPLANATION</th></tr></thead><tbody><tr><td><code>-</code> or <code>!</code></td><td>NOT</td><td>The following search term is searched with “Not”.</td></tr><tr><td><code>+</code></td><td>AND</td><td>The following search term is combined with “And”.</td></tr><tr><td><code>,</code></td><td>OR</td><td>The following search term is combined with “Or”.</td></tr><tr><td><code>(</code></td><td><code>(</code></td><td>Parenthesis for logical groupings.</td></tr><tr><td><code>)</code></td><td><code>)</code></td><td>Parenthesis for logical groupings.</td></tr></tbody></table>

#### AND

The **AND** operator returns only records that contain **all** specified terms. It is not necessary to use the **AND** operator explicitly. By default, all search terms are automatically combined using an implicit **AND**. Therefore, records will only be returned if they contain all specified terms.

Example:

```
contract AND termination
```

Result: Only records containing both *contract* and *termination*.

#### OR

The **OR** operator returns records that contain **at least one** of the specified terms.

Example:

```
invoice OR receipt
```

Result: Records containing *invoice*, *receipt*, or both.

#### NOT

The **NOT** operator excludes records that contain a specific term.

Example:

```
report NOT draft
```

Result: Records that contain *report* but **not** *draft*.

#### Combining and Grouping Operators

Boolean operators can be combined and grouped using parentheses.

Example:

```
(contract OR agreement) AND termination
```

### Wildcard Search

Wildcard search allows you to find terms when parts of the word are unknown or variable.

#### Single-Character Wildcard (?)

The question mark `?` represents **exactly one arbitrary character**.

Example:

```
Ma?er
```

Matches, for example:

* Mayer
* Maier
* Mauer

**Notes:**

* Each `?` replaces exactly one character.
* Multiple `?` characters can be used within a single term.

#### Multi-Character Wildcard (\*)

The asterisk `*` represents **zero, one, or multiple characters**.

Examples:

```
Auto*
```

Matches:

* Auto
* Automatic
* Automobile

```
*report
```

Matches:

* annualreport
* auditreport

**Notes:**

* The `*` wildcard can be used at the beginning, middle, or end of a word.
* Searches with a leading `*` may impact performance.

## Others

To search for a question within a text or word, use:

```
`*\?*`
```

To search for other characters within a text or word, use:

```
`*~*`
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fylr.io/for-users/search-and-filter/full-text-search.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
