Indexing architecture
Indexing converts external or TYPO3-managed content into vector documents.
Core classes
Madj2k\Ai Core\ Indexing\ Indexer\ Indexer Interface - Common interface for indexers.
Madj2k\Ai Assistant\ Indexing\ Indexer\ Abstract Indexer - TYPO3 adapter for configuration lookup and persisted source state.
Madj2k\Ai Core\ Indexing\ DTO\ Indexable Document - Text plus metadata to be indexed.
Madj2k\Ai Core\ DTO\ Document Metadata - Structured metadata for source identity and payload.
Madj2k\Ai Core\ Indexing\ Text Chunker - Splits text into chunks.
Madj2k\Ai Core\ Indexing\ Vector Document Indexer - Creates embeddings and replaces vector documents safely.
Madj2k\Ai Assistant\ Indexing\ Service\ Source State Service - Creates source hashes, content hashes and source state decisions.
Indexing stages
- Resolve indexer configuration.
- Read source content.
- Build
Indexablewith metadata.Document - Detect source changes.
- Split text into chunks.
- Request embeddings.
- Write vector documents.
- Update source state.
Adapters and connectors
File adapters extract text from files. Source connectors fetch external data. Indexers coordinate those services and decide how data is transformed into indexable documents.
JSON and JSONL handling
JSON and JSONL indexers can separate searchable text from metadata. The
configuration distinguishes json_ and json_.
Both use comma-separated dot notation and support nested paths, numeric array
indices and wildcards.
Metadata mapping can write values to custom payload keys using the syntax
payload_. This allows a source field such as author. to
be stored as contact_ in the vector payload.
See JSON and JSONL indexing for details.