> For the complete documentation index, see [llms.txt](https://docs.docbits.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.docbits.com/administration-and-setup/settings/document-processing/module/fulltext-search.md).

# Fulltext Search

Fulltext Search lets users search the actual content of documents and every extracted field, not just filenames and IDs.

## Without the module

When Fulltext Search is not enabled, the dashboard search bar can only query a small set of structured fields. Free-text input falls back to matching against:

* `filename`
* Document `ID`
* `invoice_id`
* `purchase_order`

Anything outside these fields is ignored. There is no content-level search and no support for ranges, operators, or smart filters.

## With the module enabled

Activating Fulltext Search unlocks search across every extracted field on a document and replaces the dashboard search bar with a richer query language. Queries can combine field filters, range comparisons, logical operators, relative dates, and smart-filter shortcuts.

<figure><img src="https://578966019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2n2w4uDCJvv7CJ5zrdk%2Fuploads%2Fgit-blob-49118fc083a1f508afc57042e7f9bab66c4a3765%2Fprior-u049-en.png?alt=media" alt="Entering an amount query on the dashboard."><figcaption><p>Entering an amount query on the dashboard.</p></figcaption></figure>

### Field-scoped queries

Match a specific extracted field by prefixing the field name with a colon. Field names follow the API identifier convention (lowercase, snake\_case) and apply to every field captured by your document types — supplier, invoice metadata, line items, custom fields.

```
supplier_name: Acme
invoice_id: INV-1234
status: ready_for_validation
```

### Range queries

Use comparison operators on numeric and date fields. Both open-ended comparisons and bounded ranges are supported.

```
total_amount > 5000
total_amount <= 10000
invoice_due_date between 2026-01-01, 2026-04-30
```

### Logical operators

Combine clauses with `AND`, `OR`, and `NOT`, grouping with parentheses for precedence. `IN`-lists match any value from a set on a single field.

```
supplier_name: Acme AND total_amount > 1000
(status: ready_for_validation OR status: validated) AND invoice_date: this_month
NOT status: archived
status IN (ready_for_validation, exported)
```

### Relative dates

Time expressions evaluated against the query timestamp. Use them anywhere a date is expected.

```
imported_on: today()
invoice_date: last_week
imported_on: this_quarter
```

### Smart filters

Single-token shortcuts for common queries. They work on their own or as part of a larger expression.

```
overdue
@User
#INV-1234
$5k+
```

* `overdue` — documents past their due date.
* `@User` — filter by assignee; replace `User` with the assignee's name.
* `#INV-1234` — quick lookup by document identifier.
* `$5k+` — monetary amounts greater than 5,000 in the document's currency.

## Sub-features

Two specialised search modes are layered on top of the Fulltext module. Both depend on the module being enabled and cannot be used standalone.

### Vector search

Vector search finds documents that are semantically similar to your query rather than only lexically matching. The dashboard treats any query starting with `vector:` as a vector search, runs it through document embeddings, and ranks results by similarity.

```
vector: frozen food invoices
```

Vector indexing is toggled separately from the Fulltext text index on the Fulltext Search Settings page. Disabling it stops embedding new documents while leaving the text index in place.

### AI search

AI search accepts natural-language queries and uses an LLM to extract structured filters, which are then run through the Fulltext index. Prefix the query with `ai:`.

```
ai: invoices from Ruiz over 1000 last quarter
```

AI search and Vector search are not interchangeable: Vector matches similar content, AI translates language into filters. AI search has no separate switch — it routes through the existing Fulltext and Vector indexes.

<figure><img src="https://578966019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2n2w4uDCJvv7CJ5zrdk%2Fuploads%2Fgit-blob-412d668f4a2b58ceef004d033d191ede6eb6a8f4%2Fprior-u048-en.png?alt=media" alt="Full-text indexing settings and information."><figcaption><p>Full-text indexing settings and information.</p></figcaption></figure>

## Prerequisites

* OpenSearch infrastructure runs in the background to power the index.
* The first time the module is enabled, all existing documents are reindexed. Indexing time scales with the number of documents in the organisation.
* Only organisation admins can toggle modules.

## How to enable

1. Go to **Settings → Document Processing → Module**.
2. Under the **Dashboards** group, enable **Full text search**.
3. Confirm the subscription dialog when it appears.
4. Wait for the initial reindex to finish before relying on Fulltext queries.

<figure><img src="https://578966019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT2n2w4uDCJvv7CJ5zrdk%2Fuploads%2Fgit-blob-832698a7f88e11c06b6fc791dbfbb2d9ebe96887%2Fprior-u050-en.png?alt=media" alt="Availability of the full-text search module."><figcaption><p>Availability of the full-text search module.</p></figcaption></figure>

{% hint style="info" %}
Pricing for the Fulltext Search module is handled through your DocBits sales contact. The subscription confirmation appears the first time the module is activated.
{% endhint %}

## See also

* [Fulltext Search Settings](/administration-and-setup/settings/log-settings/fulltext-search-settings.md) — index management and the Vector Index toggle.
* [Fulltext Search Functions](/administration-and-setup/settings/global-settings/document-types/script/scripting-in-docbits/fulltext-search-functions.md) — scripting API for `fulltext_search()` and `vector_search()`.
* [Modules overview](/administration-and-setup/settings/document-processing/module.md) — full list of optional DocBits modules.

The full-text module and the required permissions must be available to use full-text search. If a module-required notice appears, ask your administrator to check availability and access.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.docbits.com/administration-and-setup/settings/document-processing/module/fulltext-search.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
