A “chunk” is a piece of a document that has been processed and indexed for search. When you ask a question, the system searches these chunks to find relevant information, then passes the most relevant chunks to the language model to generate a response.
Language models have context limits—they can only process a certain amount of text at once. Additionally, searching through entire documents would be slow and imprecise. Splitting content into chunks provides several benefits:
The system uses adaptive chunking based on document type, typically targeting 500-1500 characters per chunk with semantic boundaries.
Converts your query and chunks into mathematical vectors (embeddings) and finds chunks whose meaning is similar, even if they use different words.
Traditional text matching that finds chunks containing the exact words in your query. Excellent for specific terms, names, and tickers.
The system can use both approaches together (hybrid search) and merge results for the best of both worlds. See Experiment Variants to learn about enabling hybrid search.
If the system doesn't find content you expect, there are several possible reasons:
To troubleshoot why content isn't being retrieved: