Meilisearch vs Typesense vs Elasticsearch: which search engine fits in 2026?
Meilisearch, Typesense or Elasticsearch? Pick Meilisearch for typo-tolerant instant search with an MIT core. Pick Typesense for faceted product search with Raft clustering, if the index fits in RAM. Pick Elasticsearch for large distributed search and analytics. For an AI agent over local files with the Elasticsearch API, add XERJ to the list.
Key number: Typesense keeps the whole search index in memory and typically needs 2 to 3 times the size of the searchable fields in RAM; Meilisearch's sharding is an Enterprise Edition feature under BUSL-1.1. (as of 2026-11-15 · source: typesense.org/docs/guide/system-requirements.html)
Last checked: 2026-11-15. Every third-party fact on this page was re-read from the tool's own docs or repository on that date.
TL;DR Meilisearch, Typesense and Elasticsearch each win a different job. Pick Meilisearch for typo-tolerant instant search with an MIT core. Pick Typesense for faceted product search with Raft clustering, when the index fits in RAM. Pick Elasticsearch for large distributed search and analytics. XERJ, a fourth option for agents, is single-node only. No head-to-head was run for this page; every fact comes from the vendor's own docs, checked 2026-11-15.
Act as a coding agent. Read https://xerj.org/llms.txt and https://xerj.org/compare/meilisearch-vs-typesense-vs-elasticsearch, then recommend Meilisearch, Typesense, Elasticsearch or XERJ for this project from the picker on that page. Base the choice on our data size, whether we need clustering, faceting or typo-tolerant instant search, and whether an AI agent will query the index. Explain the choice in five lines.
For an AI agent that searches local files through the Elasticsearch API, XERJ is a fourth option, covered at the end. Background on combining keyword and vector search: what hybrid search is.
Meilisearch, Typesense or Elasticsearch
Meilisearch
Typo tolerance is on by default: one typo from five characters, two from nine. The core is MIT. The Community Edition has no sharding; that needs the Enterprise Edition under BUSL-1.1.
Typesense
Faceting with facet_by is a headline use case, and Raft clustering adds high availability, where XERJ is single-node only. The whole index lives in RAM, typically 2 to 3 times the searchable fields.
Elasticsearch
A distributed search and analytics engine and vector database, with clusters, shards, replicas and Kibana. Licence choice of AGPL-3.0, SSPL v1 or Elastic License 2.0. XERJ is single-node only, so this is where Elasticsearch wins.
XERJ
One binary that speaks the Elasticsearch API, indexes a folder with one command and serves an MCP server. Single-node only.
Summary table
| Meilisearch | Typesense | Elasticsearch | XERJ (for agents) | |
|---|---|---|---|---|
| Licence | MIT; Enterprise Edition BUSL-1.1 | GPL-3.0 | AGPL-3.0, SSPL v1 or Elastic License 2.0 | Apache-2.0 |
| Install | curl -L https://install.meilisearch.com | sh | Docker image typesense/typesense | curl -fsSL https://elastic.co/start-local | sh (Docker, with Kibana) | curl -fsSL https://xerj.org/get | sh |
| Index storage | on disk | whole index in RAM, raw copy on disk | on disk, across a cluster | on disk |
| Scale out | sharding in Enterprise Edition | Raft clustering for high availability | clusters, shards and replicas | single node only |
| Typo tolerance | on by default: 1 typo from 5 characters, 2 from 9 | 2 typos by default | fuzzy queries you opt into | fuzzy queries you opt into |
| Hybrid search | semanticRatio, 0.5 by default | rank fusion, 0.7 keyword and 0.3 vector | rrf retriever, a subscription feature | hybrid query with RRF |
| Faceting | yes | facet_by, a headline use case | aggregations | aggregations |
| MCP server | first-party | community | community | first-party, xerj mcp |
| GitHub stars (2026-11-15) | 59,866 | 27,133 | 78,692 | 19,111 |
When to choose Meilisearch instead
Choose Meilisearch when you want search-as-you-type that forgives typos with no tuning. Typo tolerance is on by default, and hybrid search is one parameter away. It installs as one binary, and its first-party MCP server lets an assistant create indexes and search them. The Community Edition has no sharding; that is the one Enterprise Edition feature, under BUSL-1.1. Details: XERJ vs Meilisearch.
When to choose Typesense instead
Choose Typesense for faceted browsing, such as a product catalogue with filters for brand, price and size. Its docs name faceting a headline use case, and Raft clustering gives you high availability. Typesense keeps the whole search index in RAM, typically 2 to 3 times the size of the fields you search, which keeps queries fast. Size your servers to match. XERJ is single-node, so for high availability Typesense is the stronger pick. Details: XERJ vs Typesense.
When to choose Elasticsearch instead
Choose Elasticsearch when data outgrows one machine, or when search sits next to logs, metrics and analytics. It is a distributed search and analytics engine and a vector database, with clusters, shards and replicas, Kibana, and the widest ecosystem of the three. The start-local script runs Elasticsearch and Kibana in Docker on your laptop. XERJ is single-node only, so Elasticsearch is the pick when you need a cluster. More options in the same space: Elasticsearch alternatives.
XERJ: the Elasticsearch API on one node, for agents
XERJ is a single-node, Apache-2.0 search engine that speaks the Elasticsearch API. xerj autoindex reads a folder of code, docs, PDFs, logs and data files with one command, and xerj mcp serves it to Claude Code and other agents. Our published board against Elasticsearch 8.13.4 at 100,000 documents on one host is 55 wins, 26 ties, 4 losses and 3 not-applicable across 88 cells. XERJ has no cluster mode, so pick Elasticsearch when you need one. Its default embedder is lexical feature hashing; semantic and hybrid search need --embed-mode neural.
How this page was checked
Every licence, default and feature above was read from the vendor's own docs or README on 2026-11-15, and each one is cited in this page's sources. Star counts came from the GitHub REST API the same day. We did not benchmark Meilisearch, Typesense and Elasticsearch against each other, so this page makes no speed claims about them.
Try it with XERJ
Use the Copy the prompt button and paste it into your coding agent. It reads this page and recommends one of the four for your project, based on data size, clustering, faceting and whether an agent will query the index.
Read next
Elasticsearch alternatives 2026, what hybrid search is, how much hybrid search helps, measured and lightweight Elasticsearch-compatible servers.
FAQ
Is Meilisearch or Typesense faster than Elasticsearch?
We have not run a head-to-head between these three, so this page makes no speed claim. Meilisearch and Typesense are built for instant search on one index. Elasticsearch is built to scale out across a cluster. Test with your own data and queries.
Which one is open source?
Meilisearch Community Edition is MIT, and its Enterprise Edition with sharding is BUSL-1.1. Typesense is GPL-3.0. Elasticsearch offers a choice of AGPL-3.0, SSPL v1 or Elastic License 2.0.
Which one needs the most RAM?
Typesense documents that it keeps the whole search index in memory, and typically needs 2 to 3 times the size of the searchable fields in RAM. Plan memory before you pick it for a large corpus.
Do all three support hybrid search?
Yes. Meilisearch merges keyword and vector results with semanticRatio, 0.5 by default. Typesense fuses ranks with 0.7 for keyword and 0.3 for vector. Elasticsearch combines retrievers with the rrf retriever; check the Elastic subscriptions page for the tier that includes it.
Which one should an AI agent use?
Meilisearch publishes an MCP server, and all three have HTTP APIs. If the agent's corpus is a folder of mixed files and you want the Elasticsearch API on one node, XERJ indexes the folder with one command and serves an MCP server.
How was this page checked?
Every licence, default and feature was read from the vendor's own docs or README on 2026-11-15. Star counts came from the GitHub REST API the same day. No benchmark was run for this page.
Evidence
- Meilisearch Community Edition is MIT; the Enterprise Edition is under BUSL-1.1, cannot be freely used in production, and sharding is the only feature exclusive to it. — https://www.meilisearch.com/docs/resources/self_hosting/enterprise_edition
- Meilisearch accepts one typo for query terms of five or more characters and up to two typos when the term is at least nine characters long, and typo tolerance is on by default. — https://www.meilisearch.com/docs/capabilities/full_text_search/relevancy/typo_tolerance_settings
- Meilisearch hybrid search merges keyword and vector results with a semanticRatio that defaults to 0.5. — https://www.meilisearch.com/docs/capabilities/hybrid_search/advanced/custom_hybrid_ranking
- Meilisearch publishes a first-party Model Context Protocol server, installs with curl -L https://install.meilisearch.com | sh, and indexes asynchronously. — https://github.com/meilisearch/meilisearch
- Typesense is an in-memory datastore: it stores the entire search index in memory and a copy of the raw data on disk, and typically needs 2X to 3X the size of the searchable fields in RAM. — https://typesense.org/docs/guide/system-requirements.html
- Typesense is GPL-3.0, offers Raft-based clustering for high availability, and runs in Docker with docker run -p 8108:8108 typesense/typesense. — https://github.com/typesense/typesense
- Typesense typo tolerance defaults to two typos, and faceting uses facet_by with filtering through filter_by. — https://typesense.org/docs/30.2/api/search.html
- Typesense hybrid search fuses ranks with rank_fusion_score = 0.7 * K + 0.3 * S, tunable through alpha. — https://typesense.org/docs/30.2/api/vector-search.html
- Elasticsearch is a distributed search and analytics engine, scalable data store and vector database. Its default licence is a choice of AGPL-3.0, SSPL v1 or Elastic License 2.0, and start-local runs it with Kibana in Docker with a one-month trial licence that reverts to Basic. — https://github.com/elastic/elasticsearch
- Elasticsearch combines result sets from several retrievers, such as BM25 and kNN, with the rrf retriever. — https://www.elastic.co/docs/reference/elasticsearch/rest-apis/retrievers/rrf-retriever
- Elastic lists Reciprocal Rank Fusion (RRF) for hybrid search among its subscription features. — https://www.elastic.co/subscriptions
- GitHub stars on 2026-11-15 from the GitHub REST API: Elasticsearch 78,692; Meilisearch 59,866; Typesense 27,133; XERJ 19,111. — https://api.github.com/repos/meilisearch/meilisearch
- The published board against a live Elasticsearch 8.13.4 at 100,000 documents on one host is 55 wins, 26 ties, 4 losses and 3 not-applicable across 88 cells. —
demo/playbooks/SCORECARD.md
Related
- What's a local alternative to Meilisearch that indexes a folder by itself?
- Do I need Typesense for an agent to search my docs?
- Best Elasticsearch alternatives in 2026, with published tests
- The best lightweight Elasticsearch-compatible search servers in 2026
- How to run hybrid search in XERJ
- How much better is hybrid search than BM25? Measured nDCG numbers
- ES scorecard
- Does XERJ support S3 storage, alerting or custom plugins yet? · same intent: search engine alternatives
- Is there a single-binary local search engine I can just run? · same intent: search engine alternatives
- Is there an Elasticsearch-compatible engine that isn't Elasticsearch? · same intent: search engine alternatives