Skip to main content

Meilisearch vs Typesense: Open-Source Search Engines Compared

·APIScout Team
meilisearchtypesenseopen sourcesearch enginecomparison

Two Open-Source Philosophies

Meilisearch and Typesense are both open-source search engines built to replace Algolia at a fraction of the cost. Both offer typo tolerance, faceted search, filtering, and sub-second responses out of the box. The differences are in the implementation details -- and those details matter.

Meilisearch is written in Rust, MIT-licensed, and has accumulated 55,712 GitHub stars. It uses LMDB (Lightning Memory-Mapped Database) for storage, combining memory-mapped access with disk persistence. Meilisearch supports a wide range of languages out of the box -- Latin scripts, Chinese, Japanese, Korean, Arabic, and Thai -- with AI-powered hybrid search that combines keyword and semantic vector retrieval. Zero-configuration defaults mean typo tolerance, ranking, and filtering work immediately after indexing. Self-host for free or use Meilisearch Cloud starting at $30/month.

Typesense is written in C++, GPLv3-licensed, and has 25,142 GitHub stars. It keeps the entire search index in RAM for maximum read speed. Typesense includes built-in vector/semantic search with S-BERT and E-5 embedding models, conversational search with built-in RAG, and query-time configuration that lets developers change sort order, search fields, and field weights per request without creating duplicate indices. Self-host for free or use Typesense Cloud starting at approximately $7/month.

Both engines deliver fast, relevant search. The decision comes down to language requirements, storage architecture, licensing constraints, and which tradeoffs align with the application.

TL;DR

Meilisearch is the right choice for applications that need broad multilingual support (especially CJK scripts and Arabic), prefer MIT licensing for maximum commercial flexibility, and want zero-config defaults that work immediately. Typesense is the right choice for English-first applications that prioritize raw in-memory speed, need built-in semantic search with embedded models, and want query-time parameter flexibility without index duplication. Both are dramatically cheaper than Algolia. Both can be self-hosted. For most developers, the language support and licensing requirements will make the decision clear.

Key Takeaways

  • Meilisearch has 122% more GitHub stars (55,712 vs 25,142), indicating broader community adoption and contribution activity.
  • Meilisearch supports far more languages natively. Chinese, Japanese, Korean, Arabic, and Thai work out of the box. Typesense struggles with CJK segmentation and non-Latin scripts.
  • Typesense keeps the entire index in RAM. This delivers blazing-fast reads but requires provisioning enough memory to hold the full dataset. Meilisearch uses LMDB with memory-mapped files, balancing speed with disk persistence.
  • MIT vs GPLv3 is a real licensing difference. Meilisearch's MIT license allows unrestricted commercial use, embedding, and modification. Typesense's GPLv3 requires that derivative works be open-sourced -- a constraint for commercial products that embed the search engine.
  • Typesense includes built-in semantic search models. S-BERT and E-5 embedders are built in, plus conversational search with RAG. Meilisearch offers hybrid search via external embedders (OpenAI and others).
  • Typesense allows query-time search configuration. Sort order, field weights, and search fields can be changed per request. Meilisearch requires index-level configuration for most ranking and sorting behavior.
  • Both are dramatically cheaper than proprietary alternatives. Self-hosted instances of either engine cost nothing beyond infrastructure. Cloud pricing starts at $7/month (Typesense) and $30/month (Meilisearch).

Feature Comparison

FeatureMeilisearchTypesense
LanguageRustC++
LicenseMIT (most permissive)GPLv3 (copyleft)
GitHub stars55,71225,142
Storage engineLMDB (memory-mapped + disk)In-memory (full index in RAM)
Typo toleranceYes (zero-config)Yes
Faceted searchYes (zero-config)Yes
Geo searchYesYes
AI hybrid searchKeyword + vector (external embedders)Keyword + vector (built-in S-BERT, E-5)
Conversational search (RAG)Not built-inBuilt-in
CJK language supportFull (Chinese, Japanese, Korean)Limited (segmentation challenges)
Arabic / Thai supportYesLimited
Latin script supportYesYes
Sort configurationIndex-level settingsQuery-time parameters
Query-time field weightsLimitedYes
Multi-tenancyYes (tenant tokens)Yes (scoped API keys)
InstantSearch compatibilityinstant-meilisearch adaptertypesense-instantsearch-adapter
Self-hostingYes (MIT)Yes (GPLv3)
Managed cloudMeilisearch CloudTypesense Cloud
Search Delivery NetworkNot availableSDN (geo-distributed)
Document size limitNo hard limit (configurable)No hard limit

Meilisearch leads on language support, community size, licensing flexibility, and zero-config defaults. Typesense leads on built-in AI capabilities, query-time flexibility, in-memory performance, and geo-distributed cloud infrastructure.

Architecture Comparison

Meilisearch: LMDB Storage

Meilisearch uses LMDB (Lightning Memory-Mapped Database) as its storage engine. LMDB memory-maps the database file, letting the operating system manage which portions of the index reside in RAM and which stay on disk. The index persists to disk by default -- it survives restarts without reindexing. Memory consumption scales with the active working set, not total index size: a 50 GB index does not require 50 GB of RAM.

The tradeoff is that cold reads -- accessing data not currently in memory -- incur disk I/O latency. For most workloads, LMDB delivers sub-50ms responses consistently.

Typesense: Pure In-Memory

Typesense keeps the entire search index in RAM. Every search operation reads directly from memory with zero disk I/O during query execution. This delivers the lowest possible read latency.

The tradeoff is resource planning. The server must have enough RAM to hold the entire index plus overhead. On restart, Typesense reloads the full index from disk snapshots. RAM is more expensive than disk, so large datasets require proportionally expensive infrastructure.

For datasets that fit comfortably in available RAM -- which covers the vast majority of search use cases -- Typesense's in-memory architecture delivers exceptional performance.

Performance in Practice

Both engines deliver search responses well under 100ms for typical workloads. Meilisearch targets sub-50ms responses. Typesense can achieve single-digit millisecond responses for warm queries. In practice, network latency between the client and server typically exceeds both figures, making the difference imperceptible to end users.

The architectural choice matters more for operational planning than search experience: how much RAM to provision, how restarts are handled, and how costs scale with index size.

Language and Multilingual Support

This is the most significant functional difference between the two engines.

Meilisearch

Meilisearch includes tokenizers and language processing for a wide range of scripts:

  • Latin scripts (English, French, Spanish, German, Portuguese, etc.)
  • Chinese (jieba-based segmentation)
  • Japanese (Lindera-based segmentation with dictionary support)
  • Korean (dictionary-based tokenization)
  • Arabic (right-to-left text, root extraction)
  • Thai (dictionary-based word segmentation)
  • Hebrew, Khmer, and additional scripts

For applications serving global audiences -- e-commerce platforms with product catalogs in multiple languages, documentation sites with international content, or any application with CJK (Chinese-Japanese-Korean) text -- Meilisearch's language support is a decisive advantage.

Typesense

Typesense handles Latin-script languages effectively. English, French, Spanish, German, and other European languages work well with built-in tokenization and typo tolerance.

CJK support is limited. Chinese and Japanese text requires character-level tokenization workarounds that produce lower-quality results compared to dictionary-based segmentation. Arabic and Thai present similar challenges. The Typesense team has acknowledged these gaps, and community contributions have improved support incrementally, but the gap with Meilisearch remains significant for non-Latin scripts.

For English-first applications or products serving primarily Latin-script markets, this limitation is irrelevant. For multilingual products, it is a deciding factor.

Pricing Comparison

Meilisearch Pricing

OptionMonthly CostIncludes
Self-hosted$0 (+ infrastructure)All features, unlimited searches, unlimited documents
Cloud Build$30/mo50,000 searches, managed hosting
Cloud Pro$300/mo250,000 searches, 1,000,000 documents, priority support
Cloud CustomContact salesDedicated infrastructure, SLA

Typesense Pricing

OptionMonthly CostIncludes
Self-hosted$0 (+ infrastructure)All features, unlimited searches
Cloud Starter~$7/moUnlimited searches, limited by cluster RAM
Cloud Production$29-$59/moUnlimited searches, moderate traffic
Cloud Scale$100+/moUnlimited searches, high availability

Cost Comparison

ScenarioMeilisearchTypesense
Self-hosted, moderate traffic~$20-40/mo (VPS)~$20-40/mo (VPS, more RAM needed)
Cloud, small project$30/mo~$7/mo
Cloud, moderate traffic$30/mo$29-59/mo
Cloud, production workload$300/mo$59-100/mo

Typesense Cloud is cheaper at the entry level with per-cluster-hour pricing and no per-search charges. Meilisearch Cloud pricing is search-count-based at the Build tier. For self-hosted deployments, costs are comparable with the caveat that Typesense requires more RAM for the same dataset size.

Typesense offers a structural pricing advantage: unlimited searches within any tier. Meilisearch Cloud tiers include search limits, with overage charges on Build and Pro plans. For high-query-volume applications on cloud hosting, Typesense's unlimited search model can be materially cheaper.

Both platforms are dramatically less expensive than Algolia at any scale.

Developer Experience

Both engines prioritize fast onboarding and clean APIs.

Meilisearch

# Install and run locally in under 60 seconds
curl -L https://install.meilisearch.com | sh
./meilisearch --master-key="YOUR_KEY"

# Index documents — search works immediately
curl -X POST 'http://localhost:7700/indexes/products/documents' \
  -H 'Authorization: Bearer YOUR_KEY' \
  -H 'Content-Type: application/json' \
  --data-binary @products.json

Meilisearch's zero-config philosophy means typo tolerance, relevance ranking, and filtering work immediately after indexing. No schema definition is required -- Meilisearch infers field types from the data. This makes prototyping extremely fast.

SDKs: JavaScript, Python, PHP, Ruby, Go, Java, .NET, Dart, Rust, Swift.

Typesense

import Typesense from 'typesense';

const client = new Typesense.Client({
  nodes: [{ host: 'localhost', port: 8108, protocol: 'http' }],
  apiKey: 'YOUR_KEY',
});

// Define schema (required before indexing)
await client.collections().create({
  name: 'products',
  fields: [
    { name: 'title', type: 'string' },
    { name: 'price', type: 'float' },
    { name: 'category', type: 'string', facet: true },
  ],
});

// Search with query-time parameters
const results = await client.collections('products').documents().search({
  q: 'laptop',
  query_by: 'title,description',
  query_by_weights: '2,1',
  sort_by: 'price:asc',
});

Typesense requires a schema definition before indexing, which adds an initial setup step but provides stricter type safety. The payoff is query-time flexibility: sort order, search fields, and field weights can be changed per request without creating separate indices.

SDKs: JavaScript, Python, Ruby, PHP, Go, Java, C#, Dart, Swift, Rust.

DX Summary

CapabilityMeilisearchTypesense
Time to first searchUnder 60 seconds2-5 minutes (schema required)
Schema definitionNot required (auto-inferred)Required (type-safe)
Zero-config defaultsYes (typo tolerance, ranking, filtering)Partial (requires configuration)
Query-time sort/weightsLimitedFull flexibility
InstantSearch adapterinstant-meilisearchtypesense-instantsearch-adapter
DashboardMeilisearch Cloud UITypesense Cloud UI
Documentation qualityExcellentExcellent

Meilisearch wins on onboarding speed and zero-config defaults. Typesense wins on query-time flexibility and schema control.

Licensing: MIT vs GPLv3

The licensing difference has practical consequences for commercial products.

MIT (Meilisearch): Use, modify, embed, and distribute the code for any purpose -- including proprietary products -- with no obligation to open-source. No restrictions beyond preserving the copyright notice.

GPLv3 (Typesense): Use and modify freely, but any distributed derivative work must be open-sourced under GPLv3. Self-hosting Typesense as a backend service (SaaS) does not trigger the distribution clause -- the AGPL would, but GPLv3 does not. Embedding Typesense in distributed software (desktop apps, on-premises products, SDKs) requires the combined work to be GPLv3-licensed.

For most SaaS applications using Typesense as a backend, the GPLv3 is not a practical constraint. The distinction matters for companies building distributable software that includes the search engine as a component.

Recommendations

Choose Meilisearch when:

  • The application serves multilingual content. Chinese, Japanese, Korean, Arabic, or Thai text requires proper segmentation. Meilisearch handles these languages natively. Typesense does not.
  • MIT licensing is required. Products that embed the search engine in distributed software, or organizations with legal policies requiring permissive licenses, need MIT.
  • Zero-config onboarding is valued. Meilisearch delivers functional search with typo tolerance, ranking, and filtering immediately after indexing with no schema or configuration.
  • The community ecosystem matters. With 55,712 GitHub stars, Meilisearch has a larger contributor base, more community plugins, and more third-party integrations.
  • LMDB's memory efficiency is advantageous. Large datasets that exceed available RAM perform better on Meilisearch's memory-mapped storage than Typesense's in-memory model.

Choose Typesense when:

  • The application is English-first or Latin-script only. Typesense's search quality for English and European languages is excellent, and the CJK limitation is irrelevant.
  • In-memory speed is a priority. For datasets that fit in RAM, Typesense's pure in-memory architecture delivers the lowest possible read latency.
  • Built-in semantic search is needed. Typesense includes S-BERT and E-5 embedding models out of the box, plus conversational search with RAG. No external embedding pipeline required.
  • Query-time flexibility matters. Changing sort order, search fields, and field weights per request without duplicate indices simplifies architecture.
  • The lowest possible cloud cost is needed. Typesense Cloud starts at approximately $7/month with unlimited searches. Meilisearch Cloud starts at $30/month with search limits.
  • The Search Delivery Network (SDN) is valuable. Typesense Cloud offers geo-distributed search infrastructure for latency-sensitive global applications.

The decision framework

Three questions clarify the choice:

  1. Does the application need CJK, Arabic, or Thai language support? If yes, Meilisearch. The language processing gap is the single largest functional difference.
  2. Does the product embed the search engine in distributed software? If yes, Meilisearch (MIT). GPLv3 imposes obligations on distributed derivative works.
  3. Is built-in semantic search with embedded models a requirement? If yes, Typesense. Its built-in S-BERT and E-5 models eliminate the need for an external embedding pipeline.

If none of these constraints apply, both engines are excellent choices. Start with whichever developer experience feels most natural -- Meilisearch's zero-config approach or Typesense's schema-first, query-flexible model -- and evaluate in production.

Methodology

  • Sources: Meilisearch and Typesense official documentation, GitHub repositories, pricing pages, and product announcements. Supplemented by third-party benchmarks and community comparisons.
  • Pricing data: Official pricing pages as of March 2026. Cloud pricing varies by region and configuration.
  • Feature data: Official documentation from both platforms, reflecting the latest stable releases.
  • GitHub stars: Verified from GitHub repository pages as of March 2026.
  • Limitations: Both platforms ship frequently; feature availability reflects March 2026. Language support quality is assessed from documentation and community reports; direct CJK search quality benchmarks were not conducted.

Choosing between open-source search engines? Compare Meilisearch, Typesense, Algolia, and more on APIScout -- pricing, features, and developer experience across every major search platform.

Comments