# Document Processing

> Process unstructured documents (PDF, DOCX, PPTX, XLSX) into search-ready JSONL chunks using Docling.

Process unstructured documents (PDF, DOCX, PPTX, XLSX) into search-ready JSONL chunks using Docling. Runs locally — no AWS or cloud services needed. Use this skill when the user wants to prepare documents for indexing, chunk documents, evaluate chunk quality, or convert PDFs to searchable text. Activate even if the user says process documents, chunk my files, prepare for search, or Docling.

- Page: https://ss33.ai/skills/opensearch-project/document-processing-5731488011
- Publisher: opensearch-project
- Category: [Data & Analytics](https://ss33.ai/skills/category/data-and-analytics-m1r3i9) › [Data pipelines & ETL](https://ss33.ai/skills/category/data-and-analytics-m1r3i9/data-pipelines-and-etl-c8rdes)
- License: Apache-2.0
- Source: https://github.com/opensearch-project/opensearch-agent-skills/blob/5076c03d24fdd61d9b06fa4e451c900023ad00da/skills/opensearch-skills/ingest/document-processing/SKILL.md

## Skill

SKILL.md: https://ss33.ai/api/v1/ss33/download/opensearch-project/document-processing-5731488011

# Document Processing

Process unstructured documents into search-ready JSONL chunks using [Docling](https://docling.site/) (open-source, runs locally). No AWS credentials or cloud services needed.

## Prerequisites

- `uv` installed (for running Python scripts)

## When to Use

- User has unstructured documents (PDF, DOCX, PPTX, XLSX)
- User wants to prepare documents for OpenSearch indexing
- User wants to inspect or evaluate chunk quality

## Output

JSONL files at `.opensearch/chunks/<index>/<filename>.jsonl`. Each line:
```json
{"text": "...", "headings": ["Section Title"], "source_file": "doc.pdf", "chunk_id": 0, "page_number": 1}
```

The JSONL output can be ingested into any OpenSearch target:
- **Local cluster** — bulk-index directly
- **AOS domain / AOSS collection** — via [managed-ingestion-service](../../cloud/managed-ingestion-service/SKILL.md) (OSIS pipeline)

## Reference

See [document_processing_guide.md](document_processing_guide.md) for the full workflow:
processing profiles, quality evaluation, and chunking adjustments.
