[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"glossary-chunk-overlap::en":3,"gloss-cluster-chunk-overlap::en":26,"gloss-next-chunk-overlap::en":9},{"slug":4,"category":5,"name":6,"definition":7,"meta_desc":8,"faq":9,"schema_markup":9,"related":10},"chunk-overlap","data-infra","Chunk Overlap","Chunk overlap is the deliberate repetition of text at the boundary between consecutive chunks in a retrieval pipeline. When a document is cut into pieces for embedding, each cut lands somewhere, and wherever it lands it separates something that belonged together. Overlap means each chunk carries a tail of the previous one and a head of the next, so a sentence, a definition or a number that straddles a boundary survives intact in at least one of the two pieces.\n\nThe failure it prevents is specific and easy to miss. A clause that begins in one chunk and completes in the next produces two fragments that each look reasonable and neither of which answers the question. Worse, the fragment that gets retrieved often reads as complete — a condition without its exception, a figure without the qualifier that follows it — so the model generates a confident answer from material that was accurate only in context. The retrieval metrics look fine. The answer is wrong.\n\nOverlap is not free. It inflates the index, it costs embedding compute proportional to the duplication, and it changes what the search returns: near-identical neighbouring chunks compete for the same slots, so the top results can be three versions of the same passage while the second-best source never surfaces. Deduplication after retrieval, or a reranking pass that penalises near-duplicates, is usually needed once overlap is anything but small.\n\nThe amount is a trade-off rather than a constant, and it depends more on the shape of the text than on any general rule. Dense reference material, contracts, specifications and anything with cross-references benefit from more, because meaning is carried across sentences. Narrative prose and self-contained records need much less. The honest way to set it is to test both ends on a fixed evaluation set and look at whether answers improve, rather than reasoning about it in the abstract.\n\nOverlap is also a blunt fix for a problem better solved by cutting in the right places. Splitting on structure — headings, sections, list items, table rows — puts the boundaries where the document itself already has them, and a structure-aware splitter usually needs far less overlap than a fixed-size one to reach the same answer quality. Overlap then becomes insurance for the boundaries that structure could not predict.\n\nOne detail worth attending to: whatever context a chunk needs in order to be understood alone should be attached rather than hoped for. A chunk that begins mid-argument with an unresolved pronoun is a retrieval liability regardless of overlap, and prefixing each chunk with its document title and section path is a cheaper improvement than widening the overlap window.","Chunk overlap repeats a slice of text at the boundary between adjacent chunks so that a fact split across the cut is still retrievable from at least one of them.",null,[11,14,17,20,23],{"slug":12,"name":13},"chunking","Chunking",{"slug":15,"name":16},"embedding","Embedding",{"slug":18,"name":19},"lost-in-the-middle","Lost in the Middle",{"slug":21,"name":22},"rag-chunking","RAG Chunking",{"slug":24,"name":25},"retrieval","Retrieval",[27,31,34,37,40,44,47,50,53,56,59,62],{"slug":28,"category":5,"name":29,"updated_at":30},"acid","ACID","2026-08-24T02:46:37+00:00",{"slug":32,"category":5,"name":33,"updated_at":30},"ann-search","ANN Search",{"slug":35,"category":5,"name":36,"updated_at":30},"backpressure","Backpressure",{"slug":38,"category":5,"name":39,"updated_at":30},"batch-processing","Batch Processing",{"slug":41,"category":5,"name":42,"updated_at":43},"bm25","BM25","2026-08-24T02:46:38+00:00",{"slug":45,"category":5,"name":46,"updated_at":30},"cache","Cache",{"slug":48,"category":5,"name":49,"updated_at":30},"cap-theorem","CAP Theorem",{"slug":51,"category":5,"name":52,"updated_at":30},"change-data-capture","Change Data Capture (CDC)",{"slug":54,"category":5,"name":55,"updated_at":30},"chroma","Chroma",{"slug":57,"category":5,"name":58,"updated_at":30},"columnar-storage","Columnar Storage",{"slug":60,"category":5,"name":61,"updated_at":30},"connection-pooling","Connection Pooling",{"slug":63,"category":5,"name":64,"updated_at":30},"cosine-similarity","Cosine Similarity"]