Meilisearch Documentation

repository·main·Indexed 41 days ago

https://github.com/meilisearch/documentation

Official documentation for Meilisearch 1.16.0, an open-source search engine API. Includes guides on implementing conversational search via the Chats API, configuring LLM providers (OpenAI, Azure OpenAI, Mistral, vLLM), managing chat workspaces, and utilizing agentic search tools like _meiliAppendConversationMessage for multi-turn chat interfaces.

Tokens
399.2K
Snippets
1.3K
Records
1.8K
Agent score
52%

What's inside Meilisearch

  1. Overview of Meilisearch Cloud project management features

    main

    Meilisearch Cloud provides project management features to integrate your instance into your infrastructure and test upcoming functionality. The two primary management capabilities are:

    • Webhooks: Allows you to configure an external URL to receive notifications when indexing tasks complete or fail.
    • Experimental features: Allows you to opt-in to features that are not yet stable for general availability.
  2. Overview of Meilisearch capabilities

    main

    Meilisearch is a search engine that indexes content for both human users and AI systems. It provides a single API to manage documents and embeddings, enabling several core functionalities:

    • Full-text search: Fast, typo-tolerant, search-as-you-type interfaces with faceted navigation, filtering, and sorting.
    • Semantic search & AI: Support for vector embeddings and RAG (Retrieval-Augmented Generation) to power conversational interfaces and LLM-grounded answers.
    • Recommendation systems: Finding similar documents and personalizing results.
    • Hybrid search: Combining keyword-based and semantic search results for improved relevancy.

    Meilisearch operates on an "index once, access everywhere" model. Once you push documents, the engine handles tokenization, indexing, and (if configured with an embedder) automatic vector generation.

  3. Overview of Meilisearch Cloud monitoring

    main

    Meilisearch Cloud provides built-in monitoring dashboards (currently in Beta) to track search performance, indexing health, and API operations. The monitoring data is organized into three primary categories:

    • Search performance: Tracks search latency percentiles (p75, p90, p95, p99) and maximum queries per second.
    • Operations: Tracks bandwidth usage (In/Out) and API call volume (Failed vs. Successful calls).
    • Indexing performance: Tracks Indexing time-to-search (TTS) latency percentiles (p75, p90, p95, p99).

    All monitoring charts support the following features:

    • Filtering by specific index.
    • Custom date ranges.
    • Real-time mode.
    • Timestamps displayed in UTC.
  4. Overview of self-hosting Meilisearch

    main

    Meilisearch is distributed as a single binary with no external dependencies. It can be deployed on bare metal or within containers across Linux, macOS, or Windows environments.

    Self-hosting is suitable for users requiring:

    • Full infrastructure control: Custom servers, network, and storage.
    • Data residency compliance: Keeping data in specific geographic regions or on-premises.
    • Custom deployment pipelines: Integration with existing CI/CD and orchestration.
    • Air-gapped environments: Running in networks without internet access.
  5. Overview of Meilisearch Cloud platform

    main

    Meilisearch Cloud is a managed hosting platform that handles provisioning, upgrades, and operations for Meilisearch deployments. It allows you to manage infrastructure, monitor performance, control billing, and organize team collaboration from a single interface.

    Key areas of management include:

    • Infrastructure: Managing projects, regions, resource tiers, version upgrades, sharding, and replication.
    • Monitoring: Tracking search and indexing performance metrics and infrastructure usage.
    • Billing: Managing the pricing model, invoices, and payment methods.
    • Security: Configuring API keys, tenant tokens, and multi-tenancy.
    • Teams: Managing members, roles, and SSO.
    • Management: Configuring webhooks and experimental features.
  6. Compare Meilisearch vs Typesense

    main

    Meilisearch and Typesense are both open-source search engines focused on speed and developer experience, but they differ in architecture, language support, and scalability.

    FeatureMeilisearchTypesense
    LicenseMIT (CE) / BUSL-1.1 (EE)GPL-3 (copyleft)
    Built withRustC++
    Data storageDisk (memory-mapped)RAM-only
    ShardingYes (Enterprise Edition)No
    Language supportOptimized for CJK, Arabic, Hebrew, ThaiUnicode-based (limited CJK)
    Auto language detectionYesNo
    AnalyticsFull dashboard (Cloud)Query analytics, event tracking
    Embedding generationBuilt-in local (Candle) + any HTTP API providerBuilt-in ONNX, OpenAI, Azure OpenAI, GCP Vertex AI
    Conversational searchYes (built-in chat)No
    Multi-index searchYes (federated search)Yes (multi-search)

    Key Architectural Differences

    • Storage & Scalability: Meilisearch uses disk-based storage with memory mapping, allowing datasets to grow beyond available RAM. Typesense stores indexes entirely in RAM, which can make large datasets costly or impractical. Meilisearch Enterprise Edition supports horizontal scaling via sharding, whereas Typesense requires every node to hold the entire dataset in RAM.
    • Language Support: Meilisearch provides optimized tokenization for complex languages (Chinese, Japanese, Korean, Thai, Hebrew, Arabic) and features automatic language detection. Typesense uses Unicode-based tokenization which may struggle with languages lacking conventional word spacing.
    • AI & Embeddings: Meilisearch offers high flexibility by supporting local embedding generation via Candle and any provider via HTTP API (OpenAI, Mistral, Cohere, Ollama, etc.). Typesense is limited to built-in ONNX models and specific cloud providers.
    • Licensing: Meilisearch Community Edition is MIT licensed (permissive). Typesense is GPL-3 (copyleft).
  7. Compare Meilisearch and Qdrant for semantic search

    main

    When choosing between Meilisearch and Qdrant, the decision depends on whether your primary requirement is hybrid search (combining keyword and semantic search) or pure vector database operations.

    Key Differences

    FeatureMeilisearchQdrant
    Primary focusHybrid searchVector database
    Full-text searchNative, optimizedVia sparse vectors
    LicenseMITApache 2.0
    Self-hostingYesYes
    Embedding generationBuilt-inBuilt-in (Cloud Inference) or external
    Typo toleranceBuilt-inNot applicable
    Cloud pricingFrom $30/monthFree 1GB tier, then usage-based

    When to choose Meilisearch

    • Strong Full-Text Search & Typo Tolerance: Meilisearch is a dedicated search engine with mature typo tolerance, prefix matching, and sophisticated relevancy ranking. Qdrant relies on sparse vectors for keyword capabilities, which lacks the same depth.
    • Unified Hybrid Search: Meilisearch provides a single API to combine keyword and semantic search with an adjustable balance. In Qdrant, you must implement hybrid logic yourself.
    • Flexible Embedding Generation: Meilisearch integrates with OpenAI, HuggingFace, Ollama, and any REST-compatible provider for automatic embedding generation. Self-hosted Qdrant typically requires external embedding management.
    • Relevancy Tuning: Meilisearch offers out-of-the-box configurable ranking rules and custom ranking attributes.
    • Site/App Search Use Cases: Ideal for e-commerce, documentation, or general site search where keyword matching is critical.

    When to choose Qdrant

    • Pure Vector Search: Best for AI applications where vector similarity is the primary requirement.
    • Advanced Vector Operations: If you need quantization, custom distance metrics, or complex metadata filtering integrated into the search process.
    • External Embedding Management: If your team manages embeddings externally and needs a dedicated vector store.
    • Recommendation Systems: Ideal for systems based primarily on similarity matching.
  8. Sync data to Meilisearch with Kestra

    main

    Use the Kestra Meilisearch plugin to orchestrate data synchronization from various sources into Meilisearch using declarative YAML workflows. This approach turns indexing into an observable, retryable, and scheduled job.

    Core Pipeline Concepts

    • Backfill vs. Incremental Sync: Pipelines typically start with a one-shot backfill (initial load) followed by an incremental sync to keep the index current.
    • ION Format: Kestra extractors write data in ION format to internal storage, which the Meilisearch DocumentAdd task consumes directly. This eliminates the need for custom glue code.
    • Idempotent Upserts: The DocumentAdd task performs add-or-replace operations. This makes overlapping sync windows or accidental re-runs safe.
    • Handling Deletes: The DocumentAdd task does not remove documents. You must implement a delete strategy based on your source, such as using documents/delete-batch for soft deletes, handling tombstone events, or performing an index alias swap.

    Security Best Practice

    Always store credentials (like your Meilisearch URL and Admin API key) as Kestra secrets using the {{ secret('NAME') }} syntax. Never use plaintext in your YAML workflows.

  9. Compare Meilisearch vs OpenSearch

    main

    Choosing between Meilisearch and OpenSearch depends on your primary use case: application/site search versus large-scale analytics.

    FeatureMeilisearchOpenSearch
    Primary focusFast, relevant searchSearch & analytics platform
    LicenseMIT (CE) / BUSL-1.1 (EE)Apache 2.0
    Setup complexityReady in minutesSteep learning curve
    PerformanceUnder 50ms out-of-the-boxRequires tuning
    Resource usageLightweightMemory-intensive
    ArchitectureSingle-node or distributed (sharding & replication)Distributed clusters
    Best forApp/site searchLarge-scale analytics
  10. Explore Meilisearch capabilities

    main

    Meilisearch offers a wide range of search and data management features. Key capabilities include:

    • Full-text search: Fast, typo-tolerant keyword search using multi-criteria ranking.
    • Hybrid and semantic search: Combines keyword matching with AI-powered vector search to match both terms and meaning.
    • Geo search: Filtering and sorting results by geographic location using radius, bounding box, or polygon.
    • Agentic search: Enables natural language questions and answers grounded in your data.
    • Multi-search: Querying multiple indexes in a single request with separate or federated results.
    • Filtering, sorting, and faceting: Narrowing, ordering, and categorizing results.
    • Search rules: Curating results by pinning documents based on query or time-based conditions.
    • Personalization: Re-ranking results based on user context and behavior.
    • Analytics: Tracking searches, clicks, and conversions.
    • Security and tenant tokens: Controlling access via API keys and tenant tokens for multi-tenant apps.
    • Teams: Managing collaborators and roles (Meilisearch Cloud).
    • Indexing: Managing documents via async task processing and foreign keys.
  11. Compare Meilisearch vs Elasticsearch

    main

    Choose between Meilisearch and Elasticsearch based on your primary use case, operational capacity, and data scale.

    FeatureMeilisearchElasticsearch
    Primary focusFast, relevant searchFull-text search & analytics
    Setup complexityReady in minutesSteep learning curve
    PerformanceUnder 50ms out-of-the-boxFast with proper tuning
    Resource usageLightweightMemory-intensive
    PricingFree OSS, affordable cloud plansFree OSS, paid cloud tiers
    Open sourceMIT (CE) / BUSL-1.1 (EE)AGPLv3 / SSPL / ELv2
    Best forApp/site searchLarge-scale analytics