Buildeon Systems
Search & Discovery 15 min read Published August 19, 2026

E-Commerce Search Engines: Meilisearch vs. Typesense vs. OpenSearch (2026 Benchmark)

Product search drives up to 40% of digital commerce revenue, yet relying on SaaS providers like Algolia exposes fast-growing stores to compounding per-query pricing. We benchmark the three primary open-source alternatives—Meilisearch, Typesense, and OpenSearch—on a production 100,000 SKU catalog across indexing speed, sub-10ms prefix latency, RAM footprint, and 3-year self-hosting infrastructure costs.

100k SKU Performance Trial Results

To evaluate real-world e-commerce conditions, we ingested a realistic 100,000 SKU apparel and hardware catalog (featuring 12 faceted attributes, multi-variant pricing, and rich descriptions) into identical 8-vCPU cloud instances.

Benchmark Metric Meilisearch (v1.10) Typesense (v27.1) OpenSearch (v2.17)
Implementation Core Rust + LMDB (Memory-Mapped Disk) C++ (In-Memory Index + Raft) Java (Lucene Distributed Cluster)
100k SKU Reindex Time 4m 12s 1m 48s 3m 35s
Prefix Search Latency (P95) 4.2 ms 3.8 ms 24.6 ms
RAM Usage (100k Records) 1.18 GB 2.65 GB (In-Memory) 7.80 GB (Heap + OS Cache)
Typo Tolerance Setup Automatic Damerau-Levenshtein out-of-the-box Configurable threshold (num_typos: 2) Manual fuzzy queries & custom n-gram analyzers
Vector & Hybrid Search Built-in REST embeddings + BM25 hybrid Built-in vector search with remote model calls Full k-NN plugin with HNSW & Lucene vector engines
Operational Overhead Minimal (Single lightweight binary) Low (Single binary with high-availability Raft) High (JVM GC tuning, cluster quorum, shard sizing)

1. Storage Architecture & Memory Consumption

How a search engine stores its inverted index dictates hosting cost and resilience during traffic spikes.

Meilisearch: Rust & Memory-Mapped LMDB

Meilisearch utilizes LMDB (Lightning Memory-Mapped Database). Instead of allocating all index data into system RAM, LMDB memory-maps data from the NVMe disk into virtual address space.

The operating system's page cache transparently keeps hot catalog keys in memory while cold product descriptions rest on disk. If the server restarts, Meilisearch starts up in under 500 milliseconds with zero index warmup delay. On our 100k SKU trial, Meilisearch consumed only 1.18 GB of active RAM.

Typesense: C++ Pure In-Memory Index

Typesense prioritizes maximum raw throughput by keeping its entire inverted index directly in RAM. While this demands more memory (2.65 GB for 100k SKUs), every single search query executes in-memory without waiting on disk reads.

Typesense also features native multi-node clustering powered by the Raft consensus algorithm, enabling automatic leader election and zero-downtime rolling node updates without external ZooKeeper or coordination daemons.

OpenSearch: Distributed JVM Lucene

Derived from Elasticsearch, OpenSearch is built for petabyte-scale document analytics and multi-tenant search. However, running a JVM cluster for a dedicated 100k SKU commerce catalog represents massive over-engineering. OpenSearch required a minimum 4 GB JVM heap plus 4 GB OS page cache, totaling nearly 8 GB of RAM before handling query load.

2. E-Commerce Relevance & Merchandising Logic

Standard full-text search ranks documents strictly by term frequency and inverse document frequency (TF-IDF / BM25). In digital retail, commercial relevance rules supersede raw lexical matches: an out-of-stock product should never outrank an in-stock bestseller simply because the title matches more words.

// Configuring Meilisearch e-commerce ranking rules
const configureSearchRules = async () => {
  await meiliClient.index("products").updateRankingRules([
    "words",               // 1. Matched query terms
    "typo",                // 2. Fewest typos
    "proximity",           // 3. Closeness of search terms
    "attribute",           // 4. Matches in 'title' rank higher than 'description'
    "sort",                // 5. User-selected sorting (e.g. price)
    "exactness",           // 6. Exact matches vs partial
    "in_stock:desc",       // 7. Custom Rule: In-stock items prioritized
    "sales_velocity:desc", // 8. Custom Rule: Commercial bestseller weighting
  ]);
};

Both Meilisearch and Typesense provide intuitive tie-breaking arrays where commercial attributes (in_stock, margin_score, promoted:desc) are injected directly into the ranking cascade without writing complex Lucene function scores.

3. Next.js 15 Integration & Algolia Drop-In Compatibility

Migrating away from Algolia does not require rewriting your frontend search components:

  • Typesense: Offers a drop-in adapter (typesense-instantsearch-adapter) that is 100% compatible with Algolia's react-instantsearch library. Changing the backend requires modifying only 8 lines of configuration.
  • Meilisearch: Provides an official InstantSearch adapter (@meilisearch/instant-meilisearch) with automated facet counts, hierarchical categories, and pagination.

4. Three-Year Total Cost of Ownership: Algolia SaaS vs. Self-Hosted

Algolia bills based on search requests ($0.50 per 1,000 operations). A mid-market store generating 3 million monthly search operations (including search-as-you-type keystrokes) faces compounding monthly expenses:

Cost Category Algolia Search SaaS Self-Hosted Meilisearch / Typesense
Base Plan / Platform Fee $0 (pay-as-you-go) $0 (100% Open Source)
Search Operations (3M queries/mo) $54,000 ($1,500/mo over 36 months) $0 (unlimited local queries)
Dedicated Cloud Hosting (NVMe VPS) $0 (managed by SaaS) $2,160 ($60/mo 8-vCPU 16GB RAM instance)
Maintenance & Backup Automation $0 $1,440 ($40/mo monitoring & snapshots)
Total 3-Year Search Investment $54,000 $3,600

*Self-hosting delivers a 93.3% cost reduction ($50,400 savings) while eliminating third-party API rate limits.

5. Architectural Selection Blueprint

Select Meilisearch If:

  • You want the lowest RAM footprint (under 1.5 GB for 100k products) and instant disk-backed startup.
  • Your priority is exceptional out-of-the-box search-as-you-type UX with zero configuration overhead.
  • You run single-node or containerized deployments alongside Medusa v2 or Saleor.

Select Typesense If:

  • You require built-in multi-node high availability with automatic Raft consensus clustering.
  • You are migrating directly from Algolia and want drop-in frontend adapter compatibility.
  • You have sufficient RAM to host the entire catalog index in memory for sub-4ms response times.

Select OpenSearch If:

  • Your catalog exceeds 5,000,000 SKUs requiring multi-terabyte distributed sharding.
  • You need to unify enterprise log analytics, security events, and product search on a single cluster.
  • You have dedicated DevOps engineers to tune JVM garbage collection and shard rebalancing.

Related Architectural Teardowns

SEARCH DISCOVERY AUDIT

Tired of Compounding SaaS Search Bills?

Buildeon engineers replace costly proprietary search subscriptions with high-performance self-hosted Meilisearch and Typesense clusters. Book a technical discovery audit to benchmark your catalog.