Most teams treat knowledge base search as an indexing problem: pick an embedding model, point it at the help center, tune the score threshold. Then results stay mediocre and the instinct is to reindex more often. The more durable fix is upstream. Retrieval quality is largely decided by how the source documents are shaped, and you control that.
Retrieval systems do not read an article the way a person does. They split it into chunks, convert each chunk into a vector, and compare the query vector against them. The chunk is the unit of retrieval, so a badly shaped chunk cannot be rescued by a better model. The chunking survey from SurrealDB puts it directly: split in the wrong place and you sever a sentence mid-thought or lump unrelated ideas together, and any of these degrades the embeddings you produce, which means worse retrieval (chunking strategies compared).
AWS documents a menu of chunking modes for its knowledge bases, including standard fixed-size splitting, hierarchical chunking, semantic chunking and handling of tables and figures (AWS chunking documentation). Each mode is trying to guess where one idea ends and the next begins. When your articles announce those boundaries explicitly with headings, every one of those strategies guesses correctly. That is the cheapest retrieval improvement available to a support team, and it needs no pipeline work at all.
A practical target: a support article of 600 to 1,200 words should carry four to eight headings, each followed by a section that answers one question completely. A reader should be able to land on any single section and solve something without reading above it.
A worked example with numbers
Suppose an article called "Card declines" runs 1,500 words with no subheadings. A fixed-size splitter at 500 tokens with no overlap produces roughly three chunks, each a slice cut wherever the token count ran out. A query like "why was my card declined for a subscription renewal" matches whichever chunk happens to contain those words, possibly a chunk that mostly covers fraud freezes. The agent reads three uncertain results and rephrases the search.
Rewrite the same content as five headed sections: "Declines on recurring subscription charges", "Declines caused by an expired card", "Declines from a fraud hold", "Declines from insufficient funds", and "How to retry a failed payment". A splitter that respects headings now yields five chunks, each internally coherent and each titled. The renewal query lands on the first chunk with high confidence and the answer is one click away. Same word count, same product, and no reindexing involved.



