View on GitHub
Runnable reference for this extractor — inputs, parameters, output fields, embedding models, and copy-paste examples. Auto-generated from the live registry.
Cross-lingual retrieval. Because all 100+ languages share one embedding space, a query in one language matches content in any language — an English query (e.g. “foreign language”, “translate what they said”) retrieves Farsi, Mandarin, or Spanish text with no translation step and no per-language index. Note that this is retrieval, not translation: matched text is returned in its original language. To render it in the reader’s language, add an
llm_enrich translate stage — see the Search Across Languages recipe.View extractor details at api.mixpeek.com/v1/collections/features/extractors/text_extractor_v1 or fetch programmatically with
GET /v1/collections/features/extractors/{feature_extractor_id}.Pipeline Steps
- Filter Dataset (if collection_id provided)
- Filter to specified collection
- Apply Input Mappings
- Resolve text field from source (e.g.,
transcription,content,data)
- Resolve text field from source (e.g.,
- Text Chunking (conditional: if
split_by != "none")- Split by: characters, words, sentences, paragraphs, or pages
- Configure
chunk_sizeandchunk_overlap - Each chunk becomes a separate document
- E5 Text Embedding Generation
- Multilingual E5-Large model (1024D)
- L2 normalized vectors
- Batch size: 4,096 texts
- Output
- Text documents with embeddings
- One document per input (or per chunk if chunking enabled)
When to Use
When NOT to Use
Dense embeddings and exact-keyword matching are complementary. Keep
text_extractor for semantic recall and add a lexical: true search over a text index for exact tokens — fuse them with rrf. See Lexical (BM25) Search.Input Schema
Output Schema
metadata (not in the document payload):
chunk_index– Position of this chunk in the original documentchunk_text– The text content of this chunktotal_chunks– Total number of chunks from the source
Parameters
Chunking Parameters
Split Strategies
Recommended chunk sizes:
characters: 500-2000words: 100-400sentences: 3-10paragraphs: 1-3pages: 1
chunk_size helps preserve context across boundaries. Example: chunk_size: 1000, chunk_overlap: 100-200.
Embedding Model
The text extractor resolves its model through the central embedding registry. Leave unset to use the current TEXT modality default (
intfloat_e5_large_instruct_v1, 1024d) — the registry swaps hot when a new frontier text model ships, so existing collections pick it up without a code change.
Embedding Task
Instruction-aware embedding models (E5, Gemini) use a task hint to optimize the embedding for a specific downstream use case. By default, all extractors useretrieval_document at ingestion time, which produces embeddings optimized for asymmetric search (queries find documents).
Set
embedding_task at the collection level, not on the extractor. See Collection Embedding Task for full details and examples.You almost never need to set this. The default
retrieval_document is correct for search, and at query time Mixpeek automatically uses retrieval_query. Only override if your collection is primarily used for clustering, classification, or symmetric similarity — not retrieval.Non-instruction-aware models (SigLIP, CLIP, Vertex multimodal) ignore this parameter.
LLM Structured Extraction Parameters
response_shape Modes
Natural Language Mode (string):LLM Provider & Model Options
Configuration Examples
Performance & Costs
LLM extraction adds cost and latency based on provider pricing. Only use when structured extraction is needed.
Dense Embeddings vs Lexical (BM25)
text_extractor produces dense embeddings — great for semantic recall, weak on exact tokens. For exact-keyword precision, pair it with a lexical (BM25) search (the lexical: true option on a feature_search stage, backed by a text payload index — not a separate extractor).
Vector Index
In retrievers, reference this feature by its Feature URI above (the output name is
multilingual_e5_large_instruct_v1, not the index name text_extractor_v1_embedding).Limitations
- Token limit: 512 tokens (~400 words). Longer text is automatically truncated.
- Exact phrases: Cannot reliably match exact phrases or technical terms.
- Domain jargon: Struggles with very domain-specific jargon or acronyms.
- Terminology variance: May miss documents that use different terminology for the same concept.
- Short texts: Less effective for very short texts (1-5 words) where lexical matching is sufficient.
- Keyword-heavy queries: Less effective for queries like “iPhone 15 Pro Max 256GB”.

