Meilisearch — Lightning-Fast Open Source Search Engine
Meilisearch is a fast, typo-tolerant, hybrid search engine API with AI-powered semantic search. Drop-in alternative to Algolia and ElasticSearch with simple deployment.
What it is
Meilisearch is an open-source search engine designed for instant, typo-tolerant search results. It provides a REST API for indexing and querying documents with sub-50ms response times. Meilisearch supports hybrid search combining traditional keyword matching with AI-powered semantic search, making it a drop-in alternative to Algolia or ElasticSearch for product search, site search, and documentation search.
Meilisearch targets developers building search features for web applications, e-commerce sites, documentation portals, and mobile apps who want fast setup without the operational complexity of ElasticSearch.
How it saves time or tokens
Meilisearch deploys as a single binary with zero configuration. Index your data via the REST API, and search works out of the box with typo tolerance, faceted filtering, and relevancy ranking. There is no need to configure analyzers, tokenizers, or relevancy tuning for most use cases. The hybrid search feature adds semantic understanding without requiring a separate vector database.
How to use
- Start Meilisearch with Docker:
docker run -d --name meilisearch \
-p 7700:7700 \
-e MEILI_MASTER_KEY=your-master-key \
-v meili-data:/meili_data \
getmeili/meilisearch:latest
- Index documents:
curl -X POST 'http://localhost:7700/indexes/products/documents' \
-H 'Authorization: Bearer your-master-key' \
-H 'Content-Type: application/json' \
--data '[{"id": 1, "name": "Wireless Mouse", "category": "Electronics", "price": 29.99}]'
- Search with typo tolerance:
curl 'http://localhost:7700/indexes/products/search' \
-H 'Authorization: Bearer your-master-key' \
-H 'Content-Type: application/json' \
--data '{"q": "wireles mous"}'
# Returns 'Wireless Mouse' despite typos
Example
Faceted search with filters:
curl 'http://localhost:7700/indexes/products/search' \
-H 'Authorization: Bearer your-master-key' \
-H 'Content-Type: application/json' \
--data '{
"q": "mouse",
"filter": "category = Electronics AND price < 50",
"facets": ["category"]
}'
Related on TokRepo
- AI coding tools — development tools and frameworks
- Self-hosted tools — self-hosted alternatives to SaaS products
Common pitfalls
- Meilisearch loads the entire index into RAM. Large datasets (millions of documents) require proportional memory. Plan server sizing based on index size, not document count.
- The master key must be set in production. Without it, anyone can modify your indexes. Use API keys with restricted permissions for frontend search requests.
- Indexing is asynchronous. After adding documents, queries may not return new results immediately. Poll the task API to confirm indexing completion.
Frequently Asked Questions
Meilisearch is designed for instant search with minimal configuration. ElasticSearch is more powerful for complex analytics and log aggregation but requires significant operational overhead. Meilisearch deploys as a single binary; ElasticSearch needs a cluster.
Yes. Meilisearch supports hybrid search combining keyword and vector-based semantic search. You can bring your own embeddings or use built-in embedding models.
Meilisearch provides official SDKs for JavaScript, Python, PHP, Ruby, Go, Rust, Java, Swift, and Dart. All wrap the REST API for idiomatic access.
Yes. Use tenant tokens to restrict search results per user or organization. Each token encodes filter rules that Meilisearch applies automatically to every query.
The search engine is open source under the MIT license. Meilisearch Cloud is a paid hosted option for teams that do not want to manage infrastructure.
Citations (3)
- Meilisearch GitHub— Meilisearch provides instant typo-tolerant search with REST API
- Meilisearch Documentation— Hybrid search combining keyword and semantic capabilities
- Meilisearch Quick Start— Single binary deployment with zero configuration
Related on TokRepo
Discussion
Related Assets
Conda — Cross-Platform Package and Environment Manager
Install, update, and manage packages and isolated environments for Python, R, C/C++, and hundreds of other languages from a single tool.
Sphinx — Python Documentation Generator
Generate professional documentation from reStructuredText and Markdown with cross-references, API autodoc, and multiple output formats.
Neutralinojs — Lightweight Cross-Platform Desktop Apps
Build desktop applications with HTML, CSS, and JavaScript using a tiny native runtime instead of bundling Chromium.