---
title: "Chunking strategies"
manual: "AI Assistant"
version: "2.0"
permalink: "https://docs.typo3.org/permalink/madj2k/t3-ai-assistant:chunking-strategies@2.0"
source: "UserGuide/ChunkingStrategies.rst"
rendered: "2026-11-01T13:06:29+00:00"
---

# Chunking strategies {#chunking-strategies}

The indexer field `chunking_strategy` is stored as `fixed` or `atomic`.
Existing empty values resolve to `fixed`.

-   **`fixed`**

    Uses `chunk_size`, `chunk_overlap`, `min_chunk_chars` and
    `max_chunks` as before.

-   **`atomic`**

    Keeps every `IndexableDocument` as exactly one chunk. `chunk_size` is
    a hard maximum; an oversized document fails before embedding and storage.
    The text is not truncated or split, and overlap, minimum length and the
    maximum chunk count are ignored. Empty documents are still skipped.

For example, a Markdown file is split by the Markdown adapter into sections:

```php
# Handbook

Introduction.

## Installation

Follow these steps.

### Requirements

PHP 8.4 is required.

```

With `fixed`, each section is chunked independently by character limits.
With `atomic`, the introduction and each `##` section are each stored as
one complete chunk, or fail if they exceed `chunk_size`. Fenced code blocks
are kept in their section even when they contain `##` text.

After changing the strategy or an adapter, perform a complete re-index and
disable unchanged-source skipping for that run. This is required because the
source content may be unchanged while its vector boundaries have changed.
Atomic chunking guarantees complete chunks in the index only; later retrieval
and context limits remain unchanged.
