Skip to main content
Elasticsearch is a search engine built on keyword matching and BM25. Over time, you may have bolted on vector search (dense_vector), external embedding generation, and custom pipelines to handle multimodal content. Mixpeek unifies all of this: feature extraction, tiered storage, and multi-stage retrieval in a single API. This guide walks you through migrating your search workload from Elasticsearch to Mixpeek.

Why Migrate

Elasticsearch started as a keyword search engine. Vector search, embedding generation, and multimodal processing are additions you configure and maintain yourself. Mixpeek was built from the ground up as a multimodal data warehouse where feature extraction, storage tiering, and multi-stage retrieval are native primitives, not plugins.

Concept Mapping

Migration Steps

1

Create a Namespace

Replace your Elasticsearch index with a Mixpeek namespace.
2

Replace Index Mappings with Collections

Instead of defining field types and analyzers, create a collection with a feature extractor that matches your content.
You do not need to define field types or manage embedding dimensions. The feature extractor handles all of this based on your content.
3

Replace Ingest Pipelines with Feature Extraction

Elasticsearch ingest pipelines handle basic field transforms. Mixpeek collections run ML models on your content: generating embeddings, extracting entities, transcribing audio, and more.
Do not try to bulk-import your Elasticsearch documents or vectors. Re-ingest your source files so the pipeline can extract multi-layered features and build proper lineage.
4

Translate DSL Queries to Retriever Stages

Elasticsearch’s query DSL maps naturally to Mixpeek retriever stages. Each DSL clause becomes a stage in the pipeline.
5

Build Multi-Stage Retriever Pipelines

Define a retriever that chains stages together. This replaces complex DSL queries with a declarative pipeline.
Notice the hybrid approach: semantic search and keyword search run as separate stages, then results are combined through reranking. No need to manually tune BM25 weights against vector scores.
6

Test and Verify

Execute your retriever and compare results against your Elasticsearch baseline.

What You Gain

Next Steps

Quickstart

Get Mixpeek running in 10 minutes

Feature Extractors

Learn about automatic feature extraction

Retrievers

Build multi-stage retrieval pipelines

Core Concepts

Understand the data model