> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # DocumentProcessor > Process and chunk documents for search indexing with multiple strategies. [createchunks]: /docs/server-sdks/reference/python/agents/search/document-processor/create-chunks `DocumentProcessor` handles document text extraction and chunking for search index construction. It supports multiple file formats (PDF, DOCX, HTML, Markdown, Excel, PowerPoint, RTF) and provides several chunking strategies optimized for different content types and search use cases. ```python from signalwire.search import DocumentProcessor ``` > **Warning** > > Full document processing requires additional dependencies. Install with > `pip install signalwire-sdk[search-full]` for PDF, DOCX, and other format support. ## **Properties** **`chunking_strategy`** `str` The active chunking strategy. --- **`max_sentences_per_chunk`** `int` Maximum sentences per chunk when using the `sentence` strategy. --- **`chunk_size`** `int` Word count per chunk for the `sliding` strategy. The `markdown` strategy also uses it as its split threshold, applied as `chunk_size * 6` characters. --- **`chunk_overlap`** `int` Word overlap between chunks when using the `sliding` strategy. --- **`min_chunk_size`** `int` — default: 0 For the `markdown` strategy, the minimum words a section needs before a heading is allowed to start a new chunk. Shorter sections merge forward into the next one rather than being emitted alone, which keeps a densely headed document from producing chunks too thin to retrieve on. `0` splits at every heading. --- **`split_newlines`** `int | None` — default: None Number of consecutive newlines that trigger a split before sentence tokenization in the `sentence` strategy. `None` when not explicitly set. --- **`semantic_threshold`** `float` Similarity threshold for the `semantic` chunking strategy. --- **`topic_threshold`** `float` Similarity threshold for the `topic` chunking strategy. --- ## **Methods** #### [create\_chunks](/docs/server-sdks/reference/python/agents/search/document-processor/create-chunks) Split document content into chunks using the configured chunking strategy. > Process and chunk documents for search indexing with multiple strategies. ## Docs - [create_chunks](https://signalwire.com/docs/server-sdks/reference/python/agents/search/document-processor/create-chunks.md): Split document content into chunks using the configured chunking strategy.