{"id":10410,"date":"2026-09-15T07:20:00","date_gmt":"2026-09-15T05:20:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=10410"},"modified":"2026-10-26T13:14:14","modified_gmt":"2026-10-26T12:14:14","slug":"splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/","title":{"rendered":"Splitting Documents for AI Search: How Section Size and Overlap Affect Results"},"content":{"rendered":"<p>Chunk size and overlap affect how much context a retrieval system can find, how many embeddings it stores and how much text reaches the answering model. The settings are testable choices, not universal constants. A useful decision combines a clear counting convention with representative questions and known supporting passages.<\/p>\n<p>A RAG system retrieves relevant source passages and supplies them to a language model as material for an answer. A chunk is a document fragment. Overlap means that neighbouring chunks repeat part of the same text. An embedding is a numerical representation used for similarity search; a RAG system can also combine vector retrieval with keyword search. Tokens are units of the selected tokenizer, not fixed fractions of words. Language, punctuation and model all affect the count.<\/p>\n<figure class=\"lw-diagram\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/dia-10410-review-20261024.png\" width=\"1120\" height=\"580\" alt=\"Fixed-window example without padding: increasing overlap from 64 to 128 tokens increases the count from 447 to 521 chunks. Text repetition, vector storage and model billing remain separate quantities.\"><figcaption>Fixed-window example without padding: increasing overlap from 64 to 128 tokens increases the count from 447 to 521 chunks. Text repetition, vector storage and model billing remain separate quantities.<\/figcaption><\/figure>\n<h2>An exact count for a simple splitter<\/h2>\n<p>The following model uses one already-tokenized document, fixed windows and a shortened final chunk without padding. It stops as soon as the last token is covered. Let N be document length, C chunk size and O overlap, with 0 \u2264 O &lt; C. The step is C \u2212 O. Empty documents produce no chunks; a document no longer than C produces one.<\/p>\n<pre class=\"wp-block-code-beautifier-block-code\"><code>step = C - O\nchunks = 1 + ceil(max(0, N - C) \/ step)   # for N &gt; 0\ntotal token occurrences = N + O * (chunks - 1)<\/code><\/pre>\n<p>The function ceil rounds upward to the next integer.<\/p>\n<p>For N = 200,000 and C = 512, the result is:<\/p>\n<table>\n<thead>\n<tr>\n<th>Overlap<\/th>\n<th>Step<\/th>\n<th>Chunks<\/th>\n<th>Token occurrences<\/th>\n<th>Extra text<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>64 (12.5%)<\/td>\n<td>448<\/td>\n<td>447<\/td>\n<td>228,544<\/td>\n<td>14.272%<\/td>\n<\/tr>\n<tr>\n<td>128 (25%)<\/td>\n<td>384<\/td>\n<td>521<\/td>\n<td>266,560<\/td>\n<td>33.280%<\/td>\n<\/tr>\n<tr>\n<td>256 (50%)<\/td>\n<td>256<\/td>\n<td>781<\/td>\n<td>399,680<\/td>\n<td>99.840%<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Multiplying the chunk count by 512 would count nonexistent padding in the last chunk. For long documents the expansion approaches C \/ (C \u2212 O); finite documents still have boundary effects. At 50% overlap the interior is mostly repeated, but not every token appears exactly twice. Sentence-aware splitting, per-chunk retokenization and extra headings can change these totals.<\/p>\n<h2>Text repetition is not the same as vector storage or a bill<\/h2>\n<p>The table counts repeated text tokens. With one fixed-dimensional vector per chunk, the vector count is 447, 521 or 781. The dimension is the number of values in a vector. Vector bytes depend on that dimension and the storage format of each number; the search index, stored text, metadata and replicas add separate overhead. A 14% text increase is not automatically a 14% total storage or price increase.<\/p>\n<p>Embedding services may charge by tokens, characters or another unit, while self-hosted models incur compute costs. Repeated ingestion, model changes and document updates also cost work. The actual provider, model, caching policy and stored representation determine the bill; embedding the corpus is not necessarily cheap or a one-time operation.<\/p>\n<h2>Overlap preserves context, but has no universal optimum<\/h2>\n<p>Overlap can preserve relationships across boundaries, such as a definition followed by an exception. It does not guarantee that every sentence or answer fits whole into a chunk. Long tables, code, references and multi-paragraph explanations need their own treatment. Two sentences do not have a fixed token length.<\/p>\n<p>Splitting at headings and paragraphs can improve coherence, followed by a size limit for oversized sections. A heading path such as <em>Handbook &gt; Billing &gt; Cancellation<\/em> can restore useful context. The added text still occupies input and prompt space, and its benefit needs evaluation. Structure-aware splitting is a promising strategy, not proof that overlap is unnecessary.<\/p>\n<p>A compact evaluation can compare several sizes and overlaps using the same questions, source versions and retrieval settings. Relevant measures include whether the required supporting passages are retrieved, answer correctness, citation support, latency and total cost. Small chunks can lose context; large chunks can include distracting topics. No 400\u2013800-token range is exempt from those trade-offs. An embedding is learned, not a literal arithmetic average of its topics.<\/p>\n<h2>The size of the assembled model input<\/h2>\n<p>Eight full chunks of 512 tokens contain 4,096 tokens of source text under the same tokenizer assumption. Instructions, question, conversation history, headings and citations add to that amount; the answer needs its own output budget. The actual prompt tokenizer and model accounting must be checked after assembly.<\/p>\n<p>Halving chunk size and doubling the number of hits preserves only that nominal source-text total. It does not guarantee better retrieval, identical latency or an unchanged bill. Search, query embeddings and reranking can have separate costs. Retrieval chunks and generation context also need not be identical: a parent-document retriever can search small fragments and return a larger surrounding section.<\/p>\n<p>Adjacent hits may repeat overlapping text. Merging verified source spans or removing exact duplicates can save context space. The source version and text positions must agree, so that only passages from the same document version are merged. Automatically discarding every lower-scoring neighbour can also discard the only passage containing an exception, so diversity and deduplication rules need the same quality checks as chunk size.<\/p>\n<p><!-- lw-flux-illu 10410-a4 --><\/p>\n<figure class=\"lw-illu\"><img src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/illustrationen\/flux-10410-a4.webp\" width=\"1120\" height=\"630\" loading=\"lazy\" decoding=\"async\" alt=\"The cello lies in its open case, and a pocket stays free for bow, rosin and cloth. Likewise, the input to an AI model needs room for everything else besides the text pieces.\"><figcaption>The cello lies in its open case, and a pocket stays free for bow, rosin and cloth. Likewise, the input to an AI model needs room for everything else besides the text pieces.<\/figcaption><\/figure>\n<h2>Re-indexing changed inputs with traceable versions<\/h2>\n<p>A different split changes the embedding input for affected chunks. It does not make incremental migration impossible or require every document to be processed at once. Unchanged exact inputs can reuse compatible embeddings; a versioned index can be built and tested before replacing the active version. Old references need an explicit retention or redirection policy rather than accidental invalidation.<\/p>\n<p>Useful records include source ID and version, source offsets, splitter version, complete embedding input and embedding configuration. The source association can be a metadata field or mapping; it need not be encoded in the chunk ID itself. A text checksum alone is insufficient for reuse if model version, dimensions, task type, preprocessing or prepended context changed.<\/p>\n<p>Raw documents, extracted text, chunks and embeddings should remain distinguishable stages. Changing chunking reruns the splitter before embedding changed inputs; changing only the embedding model can reuse prepared chunks if the new limits and input requirements permit this. Deleted source passages also need removal from the active index.<\/p>\n<div class=\"lw-faq\">\n<h2>Questions and answers<\/h2>\n<h3>Does structure-aware splitting keep all other chunks unchanged?<\/h3>\n<p>Not necessarily. Section packing, size limits and changed heading paths can affect later chunks. Fixed windows can shift many later boundaries after an insertion, but even that is not an unconditional statement about every later input. Comparing actual complete inputs is more reliable than assuming stability from the splitter name.<\/p>\n<h3>What happens when an embedding input is too long?<\/h3>\n<p>The model and endpoint determine the limit and behavior. Google&#8217;s documented prediction endpoint for <code>gemini-embedding-001<\/code> supports <code>autoTruncate<\/code>, defaulting to true; false makes an overlong text fail. Returned statistics include <code>truncated<\/code> and <code>token_count<\/code>. This must not be generalized to every embedding API. Headings and other embedded additions count too.<\/p>\n<p>A discarded tail does not contribute to that vector, reducing retrieval evidence for its content. The chunk can still be retrieved through its retained beginning or another search method; absolute unfindability does not follow. Logging truncation and checking actual model-token counts prevents a long stored passage from creating a false impression that all of it was embedded.<\/p>\n<h3>Is a single-document update enough?<\/h3>\n<p>Usually the affected source and its derived records can be updated independently, provided source tracking and cleanup are implemented. Unchanged inputs can be reused with a compatible embedding configuration. A safe update also handles removed chunks and avoids mixing incompatible index versions during retrieval.<\/p>\n<\/div>\n<div class=\"lw-quellen\">\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.cloud.google.com\/vertex-ai\/generative-ai\/docs\/embeddings\/get-text-embeddings\" target=\"_blank\" rel=\"noopener noreferrer\">Google: text embeddings<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/search\/vector-search-how-to-chunk-documents\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft: document chunking<\/a><\/li>\n<li><a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/search\/search-how-to-semantic-chunking\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft: structure-aware chunking<\/a><\/li>\n<li><a href=\"https:\/\/techcommunity.microsoft.com\/blog\/azure-ai-foundry-blog\/azure-ai-search-outperforming-vector-search-with-hybrid-retrieval-and-reranking\/3929167\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft: retrieval benchmark<\/a><\/li>\n<li><a href=\"https:\/\/www.mongodb.com\/docs\/atlas\/ai-integrations\/langchain\/parent-document-retrieval\/\" target=\"_blank\" rel=\"noopener noreferrer\">MongoDB: parent-document retrieval<\/a><\/li>\n<li><a href=\"https:\/\/reference.langchain.com\/javascript\/langchain-core\/indexing\" target=\"_blank\" rel=\"noopener noreferrer\">LangChain: indexing<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/Azure-Samples\/azure-search-openai-demo\/blob\/main\/docs\/textsplitter.md\" target=\"_blank\" rel=\"noopener noreferrer\">Azure Samples: text splitter<\/a><\/li>\n<li><a href=\"https:\/\/docs.cloud.google.com\/vertex-ai\/generative-ai\/docs\/embeddings\" target=\"_blank\" rel=\"noopener noreferrer\">Google: embeddings overview<\/a><\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>The size of document fragments and their repeated text affect which source passages a search finds and how much text reaches the answering model. Worked counts, question-based checks and tracked document versions make the trade-offs visible.<\/p>\n","protected":false},"author":1,"featured_media":30765,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[91407,91404],"class_list":["post-10410","post","type-post","status-publish","format-standard","hentry","category-cloud-ai","tag-google-cloud","tag-llm"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Splitting Documents for AI Search: How Section Size and Overlap Affect Results | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"How chunk size and overlap determine the number of embeddings, the per-question token budget and retrieval quality \u2014 with a worked example.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Splitting Documents for AI Search: How Section Size and Overlap Affect Results | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"How chunk size and overlap determine the number of embeddings, the per-question token budget and retrieval quality \u2014 with a worked example.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-15T05:20:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-26T12:14:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10410.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Splitting Documents for AI Search: How Section Size and Overlap Affect Results\",\"datePublished\":\"2026-09-15T05:20:00+00:00\",\"dateModified\":\"2026-10-26T12:14:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/\"},\"wordCount\":1231,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-10410.png\",\"keywords\":[\"Google Cloud\",\"LLM\"],\"articleSection\":[\"Cloud &amp; AI\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/\",\"name\":\"Splitting Documents for AI Search: How Section Size and Overlap Affect Results | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-10410.png\",\"datePublished\":\"2026-09-15T05:20:00+00:00\",\"dateModified\":\"2026-10-26T12:14:14+00:00\",\"description\":\"How chunk size and overlap determine the number of embeddings, the per-question token budget and retrieval quality \u2014 with a worked example.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-10410.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/11\\\/klarheit-20261111-10410.png\",\"width\":1200,\"height\":630,\"caption\":\"Splitting Documents for AI Search: How Section Size and Overlap Affect Results\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Splitting Documents for AI Search: How Section Size and Overlap Affect Results\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Splitting Documents for AI Search: How Section Size and Overlap Affect Results | Lukas Wojcik","description":"How chunk size and overlap determine the number of embeddings, the per-question token budget and retrieval quality \u2014 with a worked example.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/","og_locale":"en_US","og_type":"article","og_title":"Splitting Documents for AI Search: How Section Size and Overlap Affect Results | Lukas Wojcik","og_description":"How chunk size and overlap determine the number of embeddings, the per-question token budget and retrieval quality \u2014 with a worked example.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-09-15T05:20:00+00:00","article_modified_time":"2026-10-26T12:14:14+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10410.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Splitting Documents for AI Search: How Section Size and Overlap Affect Results","datePublished":"2026-09-15T05:20:00+00:00","dateModified":"2026-10-26T12:14:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/"},"wordCount":1231,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10410.png","keywords":["Google Cloud","LLM"],"articleSection":["Cloud &amp; AI"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/","name":"Splitting Documents for AI Search: How Section Size and Overlap Affect Results | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10410.png","datePublished":"2026-09-15T05:20:00+00:00","dateModified":"2026-10-26T12:14:14+00:00","description":"How chunk size and overlap determine the number of embeddings, the per-question token budget and retrieval quality \u2014 with a worked example.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10410.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/11\/klarheit-20261111-10410.png","width":1200,"height":630,"caption":"Splitting Documents for AI Search: How Section Size and Overlap Affect Results"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/splitting-documents-for-ai-search-how-section-size-and-overlap-affect-results\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Splitting Documents for AI Search: How Section Size and Overlap Affect Results"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10410","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=10410"}],"version-history":[{"count":9,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10410\/revisions"}],"predecessor-version":[{"id":27270,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/10410\/revisions\/27270"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/30765"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=10410"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=10410"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=10410"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}