How articles are cut
- Sections start new chunks. Every
##(h2) and###(h3) heading starts a new chunk, so a chunk never spans two sections. A heading with no text of its own before the next heading joins that next section. - Chunks hold up to about 2,000 characters. A longer section is split at the most natural break available: between paragraphs, then lines, then sentences, then words.
- Continuations overlap. When a section is split, the next chunk opens with up to 200 characters from the end of the previous one, so a step that straddles the split keeps its context.
overlap_charstells you how much. - Tables split between rows, with the header row repeated on every piece.
- Images become markers carrying their alt text, such as
. An image with no alt text carries its generated description instead.
Stored chunks
string
Which language’s chunks to return. Defaults to the article’s primary
language; pass a translation’s language to see its chunks.boolean
required
true when the stored chunks are exactly what the article’s current content
produces. false means the article changed after it was indexed, or indexing
hasn’t finished. The stored chunks are still what chatbots search until
indexing catches up.string | null
The section the chunk belongs to. For a chunk under an h3 it includes the
parent h2, as
"Cleaning > Cleaning Steps". null for text before the first
heading, and for chunks that changed since indexing.string | null
The section’s link anchor in the published article.
integer | null
Where the chunk starts in the article’s indexed text: every chunk laid end
to end, a blank line between them, each overlap counted once. The chunk’s
text is always exactly indexed_text.slice(char_start, char_end), so a
chunk with overlap_chars above zero starts before the previous chunk ends.
null when the chunk can’t be placed (when in_sync is false).integer | null
How many characters at the start of the chunk repeat the end of the previous
one, including the blank line.
0 for a chunk that starts a section.Previewing a draft
POST /articles/chunk-preview cuts a body exactly as publishing it would and returns the chunks, without creating or changing anything. It accepts content in the same format as creating an article. The response has chunk_count and chunks in the shape above.
What to check
- Does each chunk stand on its own? A chatbot may receive one chunk without its neighbours. A chunk that says “repeat the steps above” depends on text it may not have.
- Where do long sections split? If a split lands in the middle of a procedure, consider breaking the section into h3 sub-sections at natural points instead.
- What fills the start of each chunk? A long warning or preamble repeated at the top of every part pushes the steps later in each chunk. When a chatbot runs its own follow-up search, it reads only the first 800 characters of each chunk.
articles.view scope.
