# Meilisearch Documentation - [Welcome to Meilisearch](https://www.meilisearch.com/docs/getting_started/overview.md): Meilisearch indexes your content and makes it accessible to both humans and AI through search, conversational interfaces, and APIs. - [First Project](https://www.meilisearch.com/docs/getting_started/first_project.md): Learn how to create your first Meilisearch Cloud project. - [Features](https://www.meilisearch.com/docs/getting_started/features.md): Explore all Meilisearch capabilities - index your content and make it accessible to humans and AI through search, conversational interfaces, and APIs. - [Glossary](https://www.meilisearch.com/docs/getting_started/glossary.md): Definitions of key Meilisearch concepts and search terminology including full-text search, semantic search, hybrid search, and more. - [Good practices](https://www.meilisearch.com/docs/getting_started/good_practices.md): Best practices for formatting documents, chunking content, batching requests, and optimizing indexing performance in Meilisearch. - [JavaScript quick start](https://www.meilisearch.com/docs/getting_started/sdks/javascript.md): Get started with Meilisearch using the JavaScript SDK in 5 minutes. - [Python quick start](https://www.meilisearch.com/docs/getting_started/sdks/python.md): Get started with Meilisearch using the Python SDK in 5 minutes. - [PHP quick start](https://www.meilisearch.com/docs/getting_started/sdks/php.md): Get started with Meilisearch using the PHP SDK in 5 minutes. - [Ruby quick start](https://www.meilisearch.com/docs/getting_started/sdks/ruby.md): Get started with Meilisearch using the Ruby SDK in 5 minutes. - [Go quick start](https://www.meilisearch.com/docs/getting_started/sdks/go.md): Get started with Meilisearch using the Go SDK in 5 minutes. - [Rust quick start](https://www.meilisearch.com/docs/getting_started/sdks/rust.md): Get started with Meilisearch using the Rust SDK in 5 minutes. - [Java quick start](https://www.meilisearch.com/docs/getting_started/sdks/java.md): Get started with Meilisearch using the Java SDK in 5 minutes. - [.NET quick start](https://www.meilisearch.com/docs/getting_started/sdks/dotnet.md): Get started with Meilisearch using the .NET SDK in 5 minutes. - [Swift quick start](https://www.meilisearch.com/docs/getting_started/sdks/swift.md): Get started with Meilisearch using the Swift SDK in 5 minutes. - [Dart quick start](https://www.meilisearch.com/docs/getting_started/sdks/dart.md): Get started with Meilisearch using the Dart SDK in 5 minutes. - [Instant-meilisearch](https://www.meilisearch.com/docs/getting_started/instant_meilisearch/javascript.md): Build search interfaces with instant-meilisearch and InstantSearch. - [React quick start](https://www.meilisearch.com/docs/getting_started/instant_meilisearch/react.md): Integrate a search-as-you-type experience into your React app. - [Vue quick start](https://www.meilisearch.com/docs/getting_started/instant_meilisearch/vue.md): Integrate a search-as-you-type experience into your Vue app. - [Integrate a relevant search bar to your documentation](https://www.meilisearch.com/docs/getting_started/instant_meilisearch/docsearch.md): Use Meilisearch to index content in a text-heavy website. Covers installing Meilisearch, configuring a text scraper, and creating a simple front end. - [Laravel Scout guide](https://www.meilisearch.com/docs/getting_started/frameworks/laravel.md): Learn how to use Meilisearch with Laravel Scout. - [Strapi v4 guide](https://www.meilisearch.com/docs/getting_started/frameworks/strapi.md): Learn how to use Meilisearch with Strapi v4. - [Ruby on Rails quick start](https://www.meilisearch.com/docs/getting_started/frameworks/rails.md): Integrate Meilisearch into your Ruby on Rails app. - [Symfony](https://www.meilisearch.com/docs/getting_started/frameworks/symfony.md): Integrate Meilisearch with Symfony using the official bundle. - [Model Context Protocol (MCP)](https://www.meilisearch.com/docs/getting_started/integrations/mcp.md): Manage your Meilisearch project with natural language using Claude Desktop and the Meilisearch MCP server. - [AI SDK](https://www.meilisearch.com/docs/getting_started/integrations/ai_sdk.md): Give AI agents a Meilisearch search tool using the Vercel AI SDK and @meilisearch/ai-sdk. - [LangChain integration](https://www.meilisearch.com/docs/getting_started/integrations/langchain.md): Use Meilisearch as a LangChain vector store for semantic search with OpenAI embeddings. - [Firebase](https://www.meilisearch.com/docs/getting_started/integrations/firebase.md): Sync your Firestore documents to Meilisearch using the official Firebase extension. - [Integrate Meilisearch Cloud with Vercel](https://www.meilisearch.com/docs/getting_started/integrations/vercel.md): Link Meilisearch Cloud to a Vercel Project. - [Postman collection for Meilisearch](https://www.meilisearch.com/docs/getting_started/integrations/postman.md): Import Meilisearch's OpenAPI specification into Postman to test and debug the API with a ready-made collection. - [Meilisearch Importer](https://www.meilisearch.com/docs/getting_started/integrations/meilisearch_importer.md): Efficiently import large CSV, NDJSON, or JSON datasets into Meilisearch using the official CLI tool. - [Sync data to Meilisearch with Kestra](https://www.meilisearch.com/docs/getting_started/integrations/kestra/overview.md): Keep Meilisearch in sync with your data sources using declarative Kestra workflows. - [Connect PostgreSQL to Meilisearch with Kestra](https://www.meilisearch.com/docs/getting_started/integrations/kestra/postgresql.md): Backfill and incrementally sync a PostgreSQL table into Meilisearch with Kestra. - [Connect MongoDB to Meilisearch with Kestra](https://www.meilisearch.com/docs/getting_started/integrations/kestra/mongodb.md): Backfill and incrementally sync a MongoDB collection into Meilisearch with Kestra. - [Connect Amazon S3 to Meilisearch with Kestra](https://www.meilisearch.com/docs/getting_started/integrations/kestra/amazon_s3.md): Backfill and event-driven sync of Amazon S3 objects into Meilisearch with Kestra. - [Connect Kafka to Meilisearch with Kestra](https://www.meilisearch.com/docs/getting_started/integrations/kestra/kafka.md): Real-time indexing of a Kafka topic into Meilisearch with Kestra. - [Connect a REST API to Meilisearch with Kestra](https://www.meilisearch.com/docs/getting_started/integrations/kestra/rest_api.md): Backfill and incrementally sync a REST API into Meilisearch with Kestra. - [Migrate Elasticsearch to Meilisearch with Kestra](https://www.meilisearch.com/docs/getting_started/integrations/kestra/elasticsearch.md): Migrate an existing Elasticsearch index into Meilisearch with a safe, re-runnable Kestra workflow. - [Migrate OpenSearch to Meilisearch with Kestra](https://www.meilisearch.com/docs/getting_started/integrations/kestra/opensearch.md): Migrate an existing OpenSearch index into Meilisearch with a safe, re-runnable Kestra workflow. - [Connect RabbitMQ to Meilisearch with Kestra](https://www.meilisearch.com/docs/getting_started/integrations/kestra/rabbitmq.md): Real-time indexing of a RabbitMQ (AMQP) queue into Meilisearch with Kestra. - [Connect Shopify to Meilisearch with Kestra](https://www.meilisearch.com/docs/getting_started/integrations/kestra/shopify.md): Backfill and incrementally sync a Shopify product catalog into Meilisearch with Kestra. - [Capabilities overview](https://www.meilisearch.com/docs/capabilities/overview.md): Explore all Meilisearch capabilities, from full-text and semantic search to filtering, curation, analytics, and multi-tenancy. - [Full-text search](https://www.meilisearch.com/docs/capabilities/full_text_search/overview.md): Meilisearch's full-text search returns relevant results in milliseconds with built-in typo tolerance, prefix matching, and multi-criteria ranking. - [Your first search](https://www.meilisearch.com/docs/capabilities/full_text_search/getting_started/basic_search.md): Perform your first full-text search query in Meilisearch and understand the response format. - [Placeholder search](https://www.meilisearch.com/docs/capabilities/full_text_search/getting_started/placeholder_search.md): Placeholder search returns results when users submit an empty query, allowing you to display default or trending content before the user types anything. - [Search with snippets](https://www.meilisearch.com/docs/capabilities/full_text_search/getting_started/search_with_snippets.md): Return highlighted and cropped result snippets to show users exactly where their query matched in each document. - [Phrase search](https://www.meilisearch.com/docs/capabilities/full_text_search/getting_started/phrase_search.md): Use exact phrase matching with quotes to find documents containing a specific sequence of words. - [Configure searchable attributes](https://www.meilisearch.com/docs/capabilities/full_text_search/how_to/configure_searchable_attributes.md): Choose which document fields Meilisearch scans during a search query by setting the searchableAttributes index setting. - [Configure stop words](https://www.meilisearch.com/docs/capabilities/full_text_search/how_to/configure_stop_words.md): Set up stop words to ignore common terms like "the", "a", and "is" during search, improving both performance and relevance. - [Configure prefix search](https://www.meilisearch.com/docs/capabilities/full_text_search/how_to/configure_prefix_search.md): Enable or disable prefix matching to control whether Meilisearch matches partial words as the user types. - [Configure a custom dictionary](https://www.meilisearch.com/docs/capabilities/full_text_search/how_to/configure_dictionary.md): Teach Meilisearch to treat groups of strings as a single term by supplying a supplementary dictionary of user-defined words. - [Highlight search results](https://www.meilisearch.com/docs/capabilities/full_text_search/how_to/highlight_search_results.md): Highlight and crop matched terms in search results to help users quickly see why a document was returned. - [Use matching strategy](https://www.meilisearch.com/docs/capabilities/full_text_search/how_to/use_matching_strategy.md): Control how Meilisearch matches query terms using the matchingStrategy parameter to balance precision and recall. - [Configure search cutoff](https://www.meilisearch.com/docs/capabilities/full_text_search/how_to/configure_search_cutoff.md): Set a maximum search time to ensure consistent response times for large datasets. - [Configure displayed attributes](https://www.meilisearch.com/docs/capabilities/full_text_search/how_to/configure_displayed_attributes.md): Choose which document fields appear in search results by setting the displayedAttributes index setting. - [Configure distinct attribute](https://www.meilisearch.com/docs/capabilities/full_text_search/how_to/configure_distinct_attribute.md): Use the distinct attribute to deduplicate search results by returning only one document per unique value of a given field. - [Paginate search results](https://www.meilisearch.com/docs/capabilities/full_text_search/how_to/paginate_search_results.md): Implement pagination for search results using offset/limit or page/hitsPerPage. - [Relevancy](https://www.meilisearch.com/docs/capabilities/full_text_search/relevancy/relevancy.md): Relevancy refers to the accuracy of search results. If search results tend to be appropriate for a given query, then they can be considered relevant. - [Built-in ranking rules](https://www.meilisearch.com/docs/capabilities/full_text_search/relevancy/ranking_rules.md): Built-in ranking rules are the core of Meilisearch's relevancy calculations. - [Custom ranking rules](https://www.meilisearch.com/docs/capabilities/full_text_search/relevancy/custom_ranking_rules.md): Custom ranking rules promote certain documents over other search results that are otherwise equally relevant. - [Ranking score](https://www.meilisearch.com/docs/capabilities/full_text_search/relevancy/ranking_score.md): Learn how Meilisearch computes the _rankingScore for each document and which index settings influence it. - [Attribute ranking order](https://www.meilisearch.com/docs/capabilities/full_text_search/relevancy/attribute_ranking_order.md): This article explains how the order of attributes in the `searchableAttributes` array impacts search result relevancy. - [Typo tolerance](https://www.meilisearch.com/docs/capabilities/full_text_search/relevancy/typo_tolerance_settings.md): Configure typo tolerance to control how Meilisearch handles spelling mistakes in search queries. - [Synonyms](https://www.meilisearch.com/docs/capabilities/full_text_search/relevancy/synonyms.md): Use Meilisearch synonyms to indicate sets of query terms which should be considered equivalent during search. - [Ranking pipeline](https://www.meilisearch.com/docs/capabilities/full_text_search/advanced/ranking_pipeline.md): Understand how Meilisearch's multi-criteria bucket sort works step by step to rank search results. - [Performance tuning](https://www.meilisearch.com/docs/capabilities/full_text_search/advanced/performance_tuning.md): Optimize full-text search speed for large datasets with practical configuration tips ordered by impact. - [Debug search performance](https://www.meilisearch.com/docs/capabilities/full_text_search/advanced/debug_search_performance.md): Use the showPerformanceDetails parameter to get detailed timing breakdowns for each stage of a search query. - [Hybrid and semantic search](https://www.meilisearch.com/docs/capabilities/hybrid_search/overview.md): Combine full-text keyword search with AI-powered semantic search to deliver results that match both exact terms and meaning. - [Getting started with AI-powered search](https://www.meilisearch.com/docs/capabilities/hybrid_search/getting_started.md): Configure an embedding model and perform your first semantic search with Meilisearch. This tutorial uses OpenAI, but Meilisearch supports many providers. - [Which embedder should I choose?](https://www.meilisearch.com/docs/capabilities/hybrid_search/how_to/choose_an_embedder.md): How to choose the right embedding model for your use case, balancing cost, speed, quality, and specialization. - [Use AI-powered search with user-provided embeddings](https://www.meilisearch.com/docs/capabilities/hybrid_search/how_to/search_with_user_provided_embeddings.md): This guide shows how to perform AI-powered searches with user-generated embeddings instead of relying on a third-party tool. - [Image search with multimodal embeddings](https://www.meilisearch.com/docs/capabilities/hybrid_search/how_to/image_search_with_multimodal.md): This article shows you the main steps for performing multimodal text-to-image searches - [Image search with user-provided embeddings](https://www.meilisearch.com/docs/capabilities/hybrid_search/how_to/image_search_with_user_embeddings.md): This article shows you the main steps for performing multimodal text-to-image searches - [Semantic vs hybrid search](https://www.meilisearch.com/docs/capabilities/hybrid_search/advanced/semantic_vs_hybrid.md): When to use pure semantic search vs hybrid search, and how to tune the balance between keyword and vector results. - [Document template best practices](https://www.meilisearch.com/docs/capabilities/hybrid_search/advanced/document_template_best_practices.md): This guide shows you what to do and what to avoid when writing a `documentTemplate`. - [Custom hybrid ranking](https://www.meilisearch.com/docs/capabilities/hybrid_search/advanced/custom_hybrid_ranking.md): Tune semanticRatio and embedder weights to control how keyword and vector results are merged in hybrid search. - [Composite embedders](https://www.meilisearch.com/docs/capabilities/hybrid_search/advanced/composite_embedders.md): Use different embedding providers for indexing and search to optimize cost, latency, and throughput independently. - [Binary quantization](https://www.meilisearch.com/docs/capabilities/hybrid_search/advanced/binary_quantization.md): Compress embedding vectors to reduce storage and improve indexing speed while using larger, more capable models. - [Multiple embedders](https://www.meilisearch.com/docs/capabilities/hybrid_search/advanced/multiple_embedders.md): Configure multiple embedders on a single index to combine text search, image search, and semantic search with different models. - [Tune the `distribution` of semantic scores](https://www.meilisearch.com/docs/capabilities/hybrid_search/advanced/tune_distribution.md): Learn how to use the `distribution` embedder setting to correct `_rankingScore` values for semantic hits and surface more relevant results. - [Configure OpenAI embedder](https://www.meilisearch.com/docs/capabilities/hybrid_search/how_to/configure_openai_embedder.md): Set up the OpenAI embedder to use models like text-embedding-3-small for semantic and hybrid search. - [Configure Cohere embedder](https://www.meilisearch.com/docs/capabilities/hybrid_search/how_to/configure_cohere_embedder.md): Set up the Cohere embedder for semantic and hybrid search using Cohere's embedding models. - [Configure HuggingFace embedder](https://www.meilisearch.com/docs/capabilities/hybrid_search/how_to/configure_huggingface_embedder.md): Run open-source embedding models locally with the HuggingFace embedder for semantic search without external API dependencies. - [Configure a REST embedder](https://www.meilisearch.com/docs/capabilities/hybrid_search/how_to/configure_rest_embedder.md): Create Meilisearch embedders using any provider with a REST API - [Semantic Search with Mistral Embeddings](https://www.meilisearch.com/docs/capabilities/hybrid_search/providers/mistral.md): This guide will walk you through the process of setting up Meilisearch with Mistral embeddings to enable semantic search capabilities. - [Semantic Search with Gemini Embeddings](https://www.meilisearch.com/docs/capabilities/hybrid_search/providers/gemini.md): This guide will walk you through the process of setting up Meilisearch with Gemini embeddings to enable semantic search capabilities. - [Semantic Search with Cloudflare Workers AI Embeddings](https://www.meilisearch.com/docs/capabilities/hybrid_search/providers/cloudflare.md): Set up Meilisearch with Cloudflare Workers AI embedding models for semantic search. - [Semantic Search with Voyage AI Embeddings](https://www.meilisearch.com/docs/capabilities/hybrid_search/providers/voyage.md): Set up Meilisearch with Voyage AI's v3.5 embedding models for semantic search. - [Semantic Search with AWS Bedrock Embeddings](https://www.meilisearch.com/docs/capabilities/hybrid_search/providers/bedrock.md): This guide will walk you through the process of setting up Meilisearch with AWS Bedrock embeddings to enable semantic search capabilities. - [Semantic Search with Jina Embeddings](https://www.meilisearch.com/docs/capabilities/hybrid_search/providers/jina.md): Set up Meilisearch with Jina embedding models for semantic search. - [Semantic Search with Hugging Face Inference Endpoints](https://www.meilisearch.com/docs/capabilities/hybrid_search/providers/huggingface.md): This guide will walk you through the process of setting up Meilisearch with Hugging Face Inference Endpoints. - [Geo search](https://www.meilisearch.com/docs/capabilities/geo_search/overview.md): Filter and sort search results by geographic location using coordinates, bounding boxes, and polygons. - [Geosearch](https://www.meilisearch.com/docs/capabilities/geo_search/getting_started.md): Filter and sort search results based on their geographic location. - [Filter by geo radius](https://www.meilisearch.com/docs/capabilities/geo_search/how_to/filter_by_geo_radius.md): Filter search results to only include documents within a specified distance from a geographic point. - [Filter by geo bounding box](https://www.meilisearch.com/docs/capabilities/geo_search/how_to/filter_by_geo_bounding_box.md): Filter search results within a rectangular geographic area defined by two corner points. - [Filter by geo polygon](https://www.meilisearch.com/docs/capabilities/geo_search/how_to/filter_by_geo_polygon.md): Filter search results within a custom polygon shape defined by a series of coordinate points. - [Sort by geo point](https://www.meilisearch.com/docs/capabilities/geo_search/how_to/sort_by_geo_point.md): Sort search results by distance from a geographic reference point to show the closest results first. - [Use GeoJSON format](https://www.meilisearch.com/docs/capabilities/geo_search/how_to/use_geojson_format.md): Index complex geometries like polygons and multi-polygons using the GeoJSON standard format. - [What is agentic search?](https://www.meilisearch.com/docs/capabilities/agentic_search/overview.md): Agentic search lets LLMs query your data using natural language to build AI agents and conversational interfaces that generate answers grounded in your indexed content. - [Getting started with agentic search](https://www.meilisearch.com/docs/capabilities/agentic_search/getting_started.md): Connect Meilisearch to an AI agent using the AI SDK, then run your first agentic search request. - [Configure guardrails](https://www.meilisearch.com/docs/capabilities/agentic_search/how_to/configure_guardrails.md): Limit hallucination and restrict conversational search responses to topics covered by your indexed documents. - [Display source documents](https://www.meilisearch.com/docs/capabilities/agentic_search/how_to/display_source_documents.md): Show users which indexed documents an AI agent used to generate its response. - [Handle errors and fallbacks](https://www.meilisearch.com/docs/capabilities/agentic_search/how_to/handle_errors_and_fallbacks.md): Build resilient agentic search with the AI SDK by handling LLM failures, empty results, rate limiting, and providing meaningful fallback responses. - [Optimize chat prompts](https://www.meilisearch.com/docs/capabilities/agentic_search/how_to/optimize_chat_prompts.md): Improve conversational search response quality by tuning system prompts, document templates, and index chat settings. - [Reduce hallucination](https://www.meilisearch.com/docs/capabilities/agentic_search/advanced/reduce_hallucination.md): Techniques to minimize LLM hallucination in conversational search, including few-shot prompting, system prompt engineering, and guardrail strategies. - [Chats API](https://www.meilisearch.com/docs/capabilities/agentic_search/advanced/chats_api.md): Use the experimental `/chats` API directly to set up conversational search, stream completions, and inspect Meilisearch chat tools. - [Multi-search](https://www.meilisearch.com/docs/capabilities/multi_search/overview.md): Query multiple indexes in a single API request, with options to receive separate result lists or a single merged (federated) result set. - [Multi-index search](https://www.meilisearch.com/docs/capabilities/multi_search/getting_started/multi_search.md): Search multiple indexes in a single API request and receive separate result lists for each index. - [Federated search](https://www.meilisearch.com/docs/capabilities/multi_search/getting_started/federated_search.md): In this tutorial you will see how to perform a query searching multiple indexes at the same time to obtain a single list of results. - [Boost results across indexes](https://www.meilisearch.com/docs/capabilities/multi_search/how_to/boost_results_across_indexes.md): Use federation weights to control which index's results rank higher in federated multi-search. - [Search with different filters per index](https://www.meilisearch.com/docs/capabilities/multi_search/how_to/search_with_different_filters.md): Apply different filters, sorting, and parameters to each index in a multi-search request. - [Build a unified search bar](https://www.meilisearch.com/docs/capabilities/multi_search/how_to/build_unified_search_bar.md): Combine results from multiple indexes like products, articles, and users into a single search bar experience. - [Combine text and image search](https://www.meilisearch.com/docs/capabilities/multi_search/how_to/combine_text_and_image_search.md): Use multi-search to run text-based and image-based semantic searches in a single request, leveraging multiple embedders for richer results. - [Filtering, sorting, and faceting](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/overview.md): Narrow, order, and categorize search results using filters, sorting rules, and faceted navigation. - [Filter search results](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/getting_started.md): In this guide you will see how to configure and use Meilisearch filters in a hypothetical movie database. - [Search with facets](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/how_to/filter_with_facets.md): Faceted search interfaces provide users with a quick way to narrow down search results by selecting categories relevant to their query. - [Search within facet values](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/how_to/facet_search.md): Use the facet search endpoint to type-ahead through facet values, build auto-complete experiences, and narrow large filter lists. This page also covers the two key limitations of facet search. - [Sort search results](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/how_to/sort_results.md): By default, Meilisearch sorts results according to their relevancy. You can alter this behavior so users can decide at search time results they want to see first. - [Filtering and sorting by date](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/how_to/filter_and_sort_by_date.md): Learn how to index documents with chronological data, and how to sort and filter search results based on time. - [Combine filters and sort](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/how_to/combine_filters_and_sort.md): Use filtering and sorting together to narrow and order search results for a refined user experience. - [Build faceted navigation](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/how_to/build_faceted_navigation.md): Build an ecommerce-style faceted sidebar that shows available options with document counts. - [Configure granular filterable attributes](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/how_to/configure_granular_filters.md): Control which filter operations are enabled for each attribute to optimize indexing performance and restrict filter usage. - [Search and filter together](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/how_to/search_and_filter_together.md): Combine keyword queries with filters to refine results and understand how facet counts change based on the search query. - [Handle large facet cardinality](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/how_to/handle_large_facet_cardinality.md): Manage facet attributes with thousands of unique values using facet search, pagination strategies, and performance optimization. - [Filter expression reference](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/advanced/filter_expression_syntax.md): The `filter` search parameter expects a filter expression. Filter expressions are made of attributes, values, and several operators. - [Optimize facet performance](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/advanced/optimize_facet_performance.md): Reduce indexing time and search latency by tuning faceting settings, using granular filterable attributes, and disabling unused facet features. - [Build disjunctive facets](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/advanced/disjunctive_facets.md): Implement faceted navigation where selecting a value in one facet group does not collapse the counts of other values in the same group. - [Foreign filters](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/advanced/filtering_by_joined_data.md): Use foreign filters to filter search results by properties of related documents in other indices. - [Precise filtering with array relationships](https://www.meilisearch.com/docs/capabilities/filtering_sorting_faceting/advanced/precise_filtering_array_items.md): Use foreign filters to precisely filter documents with array relationships using AND logic across items. - [Personalization and recommendations](https://www.meilisearch.com/docs/capabilities/personalization/overview.md): Personalize search results based on user profiles and recommend related items with the similar documents endpoint. - [Performing personalized search queries](https://www.meilisearch.com/docs/capabilities/personalization/getting_started/personalized_search.md): Search personalization uses context about the person performing the search to provide results more relevant to that specific user. This article guides you through configuring and performing personalized search queries. - [Building recommendations with similar documents](https://www.meilisearch.com/docs/capabilities/personalization/getting_started/recommendations.md): Use the /similar endpoint to recommend documents that are semantically close to a given item, powering "More like this" and "Related items" features. - [Generate user context](https://www.meilisearch.com/docs/capabilities/personalization/how_to/generate_user_context.md): Build user profiles from browsing history and preferences to power personalized search results. - [Personalize ecommerce search](https://www.meilisearch.com/docs/capabilities/personalization/how_to/personalize_ecommerce_search.md): End-to-end example of implementing personalized search for an ecommerce store. - [Analytics](https://www.meilisearch.com/docs/capabilities/analytics/overview.md): Track search events, user clicks, and conversions to measure and improve your search relevancy. - [Configure analytics events](https://www.meilisearch.com/docs/capabilities/analytics/getting_started.md): By default, Meilisearch analytics tracks metrics such as number of users and latency. Follow this guide to track advanced events such as user conversion and click-through rates. - [Bind search analytics events to a user](https://www.meilisearch.com/docs/capabilities/analytics/how_to/bind_events_to_user.md): This guide shows you how to manually differentiate users across search analytics using the X-MS-USER-ID HTTP header. - [Track click events](https://www.meilisearch.com/docs/capabilities/analytics/how_to/track_click_events.md): Implement click tracking to record which search results users click on and improve search relevancy. - [Track conversion events](https://www.meilisearch.com/docs/capabilities/analytics/how_to/track_conversion_events.md): Track purchases, sign-ups, and other actions that result from search to measure search effectiveness. - [Exclude search requests from analytics](https://www.meilisearch.com/docs/capabilities/analytics/how_to/ignore_search_requests.md): Learn how to improve your analytics by excluding search requests. - [Analytics metrics reference](https://www.meilisearch.com/docs/capabilities/analytics/advanced/analytics_metrics.md): This reference describes the metrics you can find in the Meilisearch analytics interface. - [Analytics events endpoint](https://www.meilisearch.com/docs/capabilities/analytics/advanced/events_endpoint.md): Use `/events` to submit analytics events such as `click` and `conversion` to Meilisearch. - [Migrate to the November 2025 Meilisearch Cloud analytics](https://www.meilisearch.com/docs/capabilities/analytics/advanced/migrate_analytics.md): Follow this guide to ensure your Meilisearch Cloud analytics configuration is up to date after the November 2025 release. - [Security and tenant tokens](https://www.meilisearch.com/docs/capabilities/security/overview.md): Secure your Meilisearch data with API keys and tenant tokens for multi-tenant applications. - [Multitenancy and tenant tokens](https://www.meilisearch.com/docs/capabilities/security/getting_started.md): This guide shows you the main steps when creating tenant tokens using Meilisearch's official SDKs. - [Generate tenant tokens without a Meilisearch SDK](https://www.meilisearch.com/docs/capabilities/security/how_to/generate_token_third_party.md): This guide shows you the main steps when creating tenant tokens without using Meilisearch's official SDKs. - [Generate a tenant token without a library](https://www.meilisearch.com/docs/capabilities/security/how_to/generate_token_from_scratch.md): This guide shows you the main steps when creating tenant tokens without using any libraries. - [Manage API keys](https://www.meilisearch.com/docs/capabilities/security/how_to/manage_api_keys.md): Create, rotate, and scope API keys to control access to your Meilisearch instance. - [Tenant token payload reference](https://www.meilisearch.com/docs/capabilities/security/advanced/tenant_token_payload.md): Meilisearch's tenant tokens are JSON web tokens (JWTs). Their payload is made of three elements: search rules, an API key UID, and an optional expiration date. - [Role-based access control with joins](https://www.meilisearch.com/docs/capabilities/security/advanced/rbac_with_joins.md): Implement role-based access control using foreign filters and tenant tokens to control document visibility based on user roles and teams. - [Search rules](https://www.meilisearch.com/docs/capabilities/search_rules/overview.md): Pin selected documents at fixed positions in search results when query- or time-based conditions match. - [Getting started with search rules](https://www.meilisearch.com/docs/capabilities/search_rules/getting_started.md): Enable search rules, create your first rule, and verify how pinned results appear in search. - [Pin one result for a query](https://www.meilisearch.com/docs/capabilities/search_rules/how_to/pin_one_result_for_query.md): Pin a single document to a fixed position whenever a search query contains a specific substring. - [Pin several results in a fixed order](https://www.meilisearch.com/docs/capabilities/search_rules/how_to/pin_multiple_results.md): Pin more than one document to specific positions for the same query by combining multiple pin actions in a single rule. - [Curate default results for an empty query](https://www.meilisearch.com/docs/capabilities/search_rules/how_to/curate_empty_query.md): Use the isEmpty condition to control which documents appear when users open search without typing anything. - [Schedule a promotion for a limited time](https://www.meilisearch.com/docs/capabilities/search_rules/how_to/schedule_promotion.md): Combine a query condition with a time window to run a campaign pin automatically and expire it without manual cleanup. - [List or filter existing rules](https://www.meilisearch.com/docs/capabilities/search_rules/how_to/list_and_filter_rules.md): Browse, paginate, and filter stored search rules to audit active campaigns or prepare bulk edits. - [Pause a rule without deleting it](https://www.meilisearch.com/docs/capabilities/search_rules/how_to/pause_a_rule.md): Temporarily stop a search rule from firing while keeping its configuration intact, so you can re-enable it later without rebuilding it. - [Search rule behavior](https://www.meilisearch.com/docs/capabilities/search_rules/advanced/pinning_behavior.md): Learn how search rules interact with ranking, filters, precedence, and different search modes. - [Meilisearch Cloud platform](https://www.meilisearch.com/docs/capabilities/platform/overview.md): Manage your Meilisearch Cloud infrastructure, monitor performance, control billing, and organize your team from a single platform. - [Cloud infrastructure](https://www.meilisearch.com/docs/capabilities/platform/infrastructure/overview.md): Understand Meilisearch Cloud projects, available regions, and resource tiers for hosting your search instances. - [Create a project](https://www.meilisearch.com/docs/capabilities/platform/infrastructure/create_a_project.md): Create a new Meilisearch Cloud project from the dashboard in a few steps. - [Cloud regions](https://www.meilisearch.com/docs/capabilities/platform/infrastructure/regions.md): Reference of all available Meilisearch Cloud regions with location and latency guidance. - [Manage resources](https://www.meilisearch.com/docs/capabilities/platform/infrastructure/manage_resources.md): Scale your Meilisearch Cloud project's CPU and RAM up or down from the project settings. - [Version management](https://www.meilisearch.com/docs/capabilities/platform/infrastructure/version_management.md): View your Meilisearch version and upgrade to newer releases from the Cloud project settings. - [Sharding and replication](https://www.meilisearch.com/docs/capabilities/platform/infrastructure/sharding_and_replication.md): Scale Meilisearch Cloud to large datasets and high availability with sharding and replication, available on Enterprise plans. - [Backups](https://www.meilisearch.com/docs/capabilities/platform/infrastructure/backups.md): Meilisearch Cloud automatically backs up your project data on a weekly schedule, with customizable options for Enterprise customers. - [Monitoring](https://www.meilisearch.com/docs/capabilities/platform/monitoring/overview.md): Monitor search performance, indexing health, and API operations for your Meilisearch Cloud projects. - [Search performance](https://www.meilisearch.com/docs/capabilities/platform/monitoring/search_performance.md): Monitor search latency percentiles, query throughput, and per-step search timing for your Meilisearch Cloud project. - [Indexing performance](https://www.meilisearch.com/docs/capabilities/platform/monitoring/indexing_performance.md): Track indexing latency and debug individual batch performance for your Meilisearch Cloud project. - [Operations](https://www.meilisearch.com/docs/capabilities/platform/monitoring/usage_metrics.md): Monitor bandwidth and API call activity for your Meilisearch Cloud project. - [Prometheus endpoint](https://www.meilisearch.com/docs/capabilities/platform/monitoring/prometheus_endpoint.md): Expose Meilisearch instance metrics in Prometheus format for scraping by Prometheus, Grafana, or any compatible monitoring stack. - [Billing](https://www.meilisearch.com/docs/capabilities/platform/billing/overview.md): Understand how Meilisearch Cloud billing works, view your estimated next bill, and manage payment settings through Stripe. - [Pricing model](https://www.meilisearch.com/docs/capabilities/platform/billing/pricing_model.md): How Meilisearch Cloud billing works for resource-based and usage-based projects, including pricing and cost estimation. - [Invoices](https://www.meilisearch.com/docs/capabilities/platform/billing/invoices.md): View and download your Meilisearch Cloud invoice history through the Stripe customer portal. - [Payment methods](https://www.meilisearch.com/docs/capabilities/platform/billing/payment_methods.md): Add or update payment methods for your Meilisearch Cloud account through the Stripe customer portal. - [Meilisearch Cloud teams](https://www.meilisearch.com/docs/capabilities/platform/teams/overview.md): Meilisearch Cloud teams helps collaboration between project stakeholders with different skillsets and responsibilities. - [Getting started with teams](https://www.meilisearch.com/docs/capabilities/platform/teams/getting_started.md): Create a team, invite members, and assign roles in Meilisearch Cloud. - [Manage team roles](https://www.meilisearch.com/docs/capabilities/platform/teams/how_to/manage_team_roles.md): Assign and change team member roles to control permissions within your Meilisearch Cloud projects. - [Configure SSO](https://www.meilisearch.com/docs/capabilities/platform/teams/how_to/configure_sso_for_team.md): Set up Single Sign-On for Meilisearch Cloud to authenticate team members through your identity provider. - [Project management](https://www.meilisearch.com/docs/capabilities/platform/management/overview.md): Configure webhooks and manage experimental features for your Meilisearch Cloud projects. - [Webhooks](https://www.meilisearch.com/docs/capabilities/platform/management/webhooks.md): Configure HTTP webhooks to receive notifications when Meilisearch indexing tasks complete or fail. - [Experimental features](https://www.meilisearch.com/docs/capabilities/platform/management/experimental_features.md): Enable or disable experimental Meilisearch features from the Cloud project settings. - [Indexing](https://www.meilisearch.com/docs/capabilities/indexing/overview.md): Add, update, and manage documents in Meilisearch indexes, including task monitoring and batch operations. - [Getting started with indexing](https://www.meilisearch.com/docs/capabilities/indexing/getting_started.md): Add your first documents to a Meilisearch index, check task status, and verify your data is searchable. - [Add and update documents](https://www.meilisearch.com/docs/capabilities/indexing/how_to/add_and_update_documents.md): Add new documents, replace existing ones, or partially update specific fields using the documents API. - [Handling multilingual datasets](https://www.meilisearch.com/docs/capabilities/indexing/how_to/handle_multilingual_data.md): This guide covers indexing strategies, language-specific tokenizers, and best practices for aligning document and query tokenization. - [Document relations](https://www.meilisearch.com/docs/capabilities/indexing/how_to/document_relations.md): Automatically enrich search results with related data from other indexes using foreign keys. - [Export data to another instance](https://www.meilisearch.com/docs/capabilities/indexing/how_to/export_data.md): Use the export endpoint to migrate data from one Meilisearch instance to another without creating dump files. - [Compact an index](https://www.meilisearch.com/docs/capabilities/indexing/how_to/compact_an_index.md): Reclaim disk space by compacting an index's internal data structures after heavy document updates or deletions. - [Import large datasets](https://www.meilisearch.com/docs/capabilities/indexing/how_to/import_large_datasets.md): Efficiently index millions of documents using batch sizing, payload compression, progress monitoring, and error recovery. - [Design primary keys](https://www.meilisearch.com/docs/capabilities/indexing/how_to/design_primary_keys.md): Choose the right primary key for your documents to ensure correct indexing, efficient updates, and reliable deduplication. - [Edit documents with functions](https://www.meilisearch.com/docs/capabilities/indexing/how_to/edit_documents_with_functions.md): Use Rhai scripting functions to transform documents directly inside Meilisearch without re-uploading them. - [Delete documents at scale](https://www.meilisearch.com/docs/capabilities/indexing/how_to/delete_documents_at_scale.md): Remove large numbers of documents efficiently using batch deletion, filter-based deletion, and lifecycle management strategies. - [Tasks and asynchronous operations](https://www.meilisearch.com/docs/capabilities/indexing/tasks_and_batches/async_operations.md): Meilisearch uses a task queue to handle asynchronous operations. This in-depth guide explains tasks, their uses, and how to manage them using Meilisearch's API. - [Working with tasks](https://www.meilisearch.com/docs/capabilities/indexing/tasks_and_batches/monitor_tasks.md): In this tutorial, you'll use the Meilisearch API to add documents to an index, and then monitor its status. - [Filtering tasks](https://www.meilisearch.com/docs/capabilities/indexing/tasks_and_batches/filter_tasks.md): This guide shows you how to use query parameters to filter tasks and obtain a more readable list of asynchronous operations. - [Managing the task database](https://www.meilisearch.com/docs/capabilities/indexing/tasks_and_batches/manage_task_database.md): Meilisearch uses a task queue to handle asynchronous operations. This document describes how to navigate long task queues with filters and pagination. - [Define index relationships](https://www.meilisearch.com/docs/capabilities/indexing/joins/define_index_relationships.md): Create relationships between documents across indices using joins, reducing data duplication while maintaining flexibility for filtering and hydration. - [Indexing best practices](https://www.meilisearch.com/docs/capabilities/indexing/advanced/indexing_best_practices.md): Tips to speed up your documents indexing process. - [Tokenization](https://www.meilisearch.com/docs/capabilities/indexing/advanced/tokenization.md): Tokenization is the process of taking a sentence or phrase and splitting it into smaller units of language. It is a crucial procedure when indexing documents. - [Optimize indexing performance with batch statistics](https://www.meilisearch.com/docs/capabilities/indexing/tasks_and_batches/optimize_batch_performance.md): Learn how to analyze the `progressTrace` to identify and resolve indexing bottlenecks in Meilisearch. - [Authorization](https://www.meilisearch.com/docs/reference/api/authorization.md): How to authenticate with the Meilisearch API using API keys and the Authorization header. - [Headers](https://www.meilisearch.com/docs/reference/api/headers.md): Content-Type, Content-Encoding, Accept-Encoding, and Meili-Include-Metadata headers for the Meilisearch API. - [Requests](https://www.meilisearch.com/docs/reference/api/requests.md): Parameters, requests & response bodies, and data types for the Meilisearch API. - [Pagination](https://www.meilisearch.com/docs/reference/api/pagination.md): How Meilisearch paginates GET routes and the structure of paginated responses. - [OpenAPI specifications](https://www.meilisearch.com/docs/reference/api/openapi.md): Meilisearch OpenAPI specifications and where to find them. - [List all indexes](https://www.meilisearch.com/docs/reference/api/indexes/list-all-indexes.md): Returns a paginated list of indexes. Use the `offset` and `limit` query parameters to page through results. - [Create index](https://www.meilisearch.com/docs/reference/api/indexes/create-index.md): Create a new index with an optional [primary key](https://www.meilisearch.com/docs/learn/getting_started/primary_key). - [Get index](https://www.meilisearch.com/docs/reference/api/indexes/get-index.md): Retrieve the metadata of a single index: its uid, [primary key](https://www.meilisearch.com/docs/learn/getting_started/primary_key), and creation/update timestamps. - [Update index](https://www.meilisearch.com/docs/reference/api/indexes/update-index.md): Update the [primary key](https://www.meilisearch.com/docs/learn/getting_started/primary_key) or uid of an index. - [Delete index](https://www.meilisearch.com/docs/reference/api/indexes/delete-index.md): Permanently delete an index and all its documents, settings, and task history. - [Swap indexes](https://www.meilisearch.com/docs/reference/api/indexes/swap-indexes.md): Swap the documents, primary key, settings, and task history of two or more indexes. - [List index fields](https://www.meilisearch.com/docs/reference/api/indexes/list-index-fields.md): Returns a paginated list of fields in the index with their metadata: whether they are displayed, searchable, sortable, filterable, distinct, have a custom ranking rule (asc/desc), and for filterable fields the sort order for facet values. - [List documents with GET](https://www.meilisearch.com/docs/reference/api/documents/list-documents-with-get.md): Retrieve documents in batches using query parameters for offset, limit, and optional filtering. - [List documents with POST](https://www.meilisearch.com/docs/reference/api/documents/list-documents-with-post.md): Retrieve a set of documents with optional filtering, sorting, and pagination. Use the request body to specify filters, sort order, and which fields to return. - [Get document](https://www.meilisearch.com/docs/reference/api/documents/get-document.md): Retrieve a single document by its [primary key](https://www.meilisearch.com/docs/learn/getting_started/primary_key) value. - [Add or replace documents](https://www.meilisearch.com/docs/reference/api/documents/add-or-replace-documents.md): Add a list of documents or replace them if they already exist. - [Add or update documents](https://www.meilisearch.com/docs/reference/api/documents/add-or-update-documents.md): Add a list of documents or update them if they already exist. - [Delete document](https://www.meilisearch.com/docs/reference/api/documents/delete-document.md): Delete a single document by its [primary key](https://www.meilisearch.com/docs/learn/getting_started/primary_key). - [Delete all documents](https://www.meilisearch.com/docs/reference/api/documents/delete-all-documents.md): Permanently delete all documents in the specified index. Settings and index metadata are preserved. - [Delete documents by filter](https://www.meilisearch.com/docs/reference/api/documents/delete-documents-by-filter.md): Delete all documents in the index that match the given filter expression. - [Delete documents by batch](https://www.meilisearch.com/docs/reference/api/documents/delete-documents-by-batch.md): Delete multiple documents in one request by providing an array of [primary key](https://www.meilisearch.com/docs/learn/getting_started/primary_key) values. - [Edit documents by function](https://www.meilisearch.com/docs/reference/api/documents/edit-documents-by-function.md): Use a [RHAI function](https://rhai.rs/book/engine/hello-world.html) to edit one or more documents directly in Meilisearch. The function receives each document and returns the modified document. - [Search with POST](https://www.meilisearch.com/docs/reference/api/search/search-with-post.md): Search for documents matching a query in the given index. - [Search with GET](https://www.meilisearch.com/docs/reference/api/search/search-with-get.md): Search for documents matching a query in the given index. - [Perform a multi-search](https://www.meilisearch.com/docs/reference/api/multi-search/perform-a-multi-search.md): Run multiple search queries in a single API request. - [Search for facet values](https://www.meilisearch.com/docs/reference/api/facet-search/search-for-facet-values.md): Search for facet values matching a query within a given facet attribute. Use this to build autocomplete or dropdown UIs for facet filters. - [Get similar documents with POST](https://www.meilisearch.com/docs/reference/api/similar-documents/get-similar-documents-with-post.md): Retrieve documents similar to a reference document identified by its id. - [Get similar documents with GET](https://www.meilisearch.com/docs/reference/api/similar-documents/get-similar-documents-with-get.md): Retrieve documents similar to a reference document identified by its id. - [List chat workspaces](https://www.meilisearch.com/docs/reference/api/chats/list-chat-workspaces.md): List all chat workspaces registered on the instance, with pagination. - [Get a chat workspace](https://www.meilisearch.com/docs/reference/api/chats/get-a-chat-workspace.md): Get the details of a chat workspace by its unique identifier. - [Delete a chat workspace](https://www.meilisearch.com/docs/reference/api/chats/delete-a-chat-workspace.md): Delete a chat workspace and its settings by its unique identifier. - [Request a chat completion](https://www.meilisearch.com/docs/reference/api/chats/request-a-chat-completion.md): Answer a conversational question with the OpenAI-compatible chat completions API, using the documents of the authorized indexes as context. Only streamed responses (`stream: true`) are supported. - [Get settings of a chat workspace](https://www.meilisearch.com/docs/reference/api/chats/get-settings-of-a-chat-workspace.md): Get the settings of a chat workspace, such as the LLM source, the base prompts, and the search parameters. The API key is never returned. - [Update settings of a chat workspace](https://www.meilisearch.com/docs/reference/api/chats/update-settings-of-a-chat-workspace.md): Partially update the settings of a chat workspace, such as the LLM source, the base prompts, and the search parameters. Fields set to `null` are reset to their default value, and missing fields are left unchanged. - [Reset the settings of a chat workspace](https://www.meilisearch.com/docs/reference/api/chats/reset-the-settings-of-a-chat-workspace.md): Reset all the settings of a chat workspace to their default value. - [List search rules](https://www.meilisearch.com/docs/reference/api/search-rules/list-search-rules.md): Return all search rules configured on the instance. - [Delete all search rules.](https://www.meilisearch.com/docs/reference/api/search-rules/delete-all-search-rules.md): This will delete **all** the currently defined search rules. - [Get a search rule](https://www.meilisearch.com/docs/reference/api/search-rules/get-a-search-rule.md): Retrieve a single search rule by its unique identifier. - [Create or update a search rule](https://www.meilisearch.com/docs/reference/api/search-rules/create-or-update-a-search-rule.md): Partially update a search rule by replacing the provided fields. If the rule doesn't exist, it will be created. - [Delete a search rule](https://www.meilisearch.com/docs/reference/api/search-rules/delete-a-search-rule.md): Delete a search rule by its unique identifier. - [List tasks](https://www.meilisearch.com/docs/reference/api/async-task-management/list-tasks.md): The `/tasks` route returns information about [asynchronous operations](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html) (indexing, document updates, settings changes, and so on). - [Get task](https://www.meilisearch.com/docs/reference/api/async-task-management/get-task.md): Retrieve a single [task](https://www.meilisearch.com/docs/learn/async/asynchronous_operations) by its uid. - [Get task's document payload](https://www.meilisearch.com/docs/reference/api/async-task-management/get-tasks-document-payload.md): Retrieve the document payload that was sent with this [task](https://www.meilisearch.com/docs/learn/async/asynchronous_operations). Only available for document-related tasks that are enqueued or processing. - [Cancel tasks](https://www.meilisearch.com/docs/reference/api/async-task-management/cancel-tasks.md): Cancel enqueued and/or processing [tasks](https://www.meilisearch.com/docs/learn/async/asynchronous_operations). You must provide at least one filter (e.g. `uids`, `indexUids`, `statuses`) to specify which tasks to cancel. - [Delete tasks](https://www.meilisearch.com/docs/reference/api/async-task-management/delete-tasks.md): Permanently delete [tasks](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html) matching the given filters. You must provide at least one filter (e.g. `uids`, `indexUids`, `statuses`) to specify which tasks to delete. - [Stream tasks changes](https://www.meilisearch.com/docs/reference/api/async-task-management/stream-tasks-changes.md): The `/tasks/stream` route returns information about [asynchronous operations](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html) (indexing, document updates, settings changes, and so on). - [List batches](https://www.meilisearch.com/docs/reference/api/async-task-management/list-batches.md): Meilisearch groups compatible tasks ([asynchronous operations](https://www.meilisearch.com/docs/learn/async/asynchronous_operations)) into batches for efficient processing. - [Get batch](https://www.meilisearch.com/docs/reference/api/async-task-management/get-batch.md): Meilisearch groups compatible tasks ([asynchronous operations](https://www.meilisearch.com/docs/learn/async/asynchronous_operations)) into batches for efficient processing. - [Stream batches changes](https://www.meilisearch.com/docs/reference/api/async-task-management/stream-batches-changes.md): The `/batches/stream` route returns information about [asynchronous operations](https://docs.meilisearch.com/learn/advanced/asynchronous_operations.html) (indexing, document updates, settings changes, and so on). - [List API keys](https://www.meilisearch.com/docs/reference/api/keys/list-api-keys.md): Return all API keys configured on the instance. Results are paginated and can be filtered by offset and limit. The key value itself is never returned after creation. - [Create API key](https://www.meilisearch.com/docs/reference/api/keys/create-api-key.md): Create a new API key with the specified name, description, actions, and index scopes. The key value is returned only once at creation time; store it securely. - [Get API key](https://www.meilisearch.com/docs/reference/api/keys/get-api-key.md): Retrieve a single API key by its `uid` or by its `key` value. - [Update API key](https://www.meilisearch.com/docs/reference/api/keys/update-api-key.md): Update the name and description of an API key. - [Delete API key](https://www.meilisearch.com/docs/reference/api/keys/delete-api-key.md): Permanently delete the specified API key. The key will no longer be valid for authentication. - [List all settings](https://www.meilisearch.com/docs/reference/api/settings/list-all-settings.md): Returns all settings of the index. Each setting is returned with its current value or the default if not set. - [Update all settings](https://www.meilisearch.com/docs/reference/api/settings/update-all-settings.md): Updates one or more settings for the index. Only the fields sent in the body are changed. Pass null for a setting to reset it to its default. If the index does not exist, it is created. - [Reset all settings](https://www.meilisearch.com/docs/reference/api/settings/reset-all-settings.md): Resets all settings of the index to their default values. - [Get chat](https://www.meilisearch.com/docs/reference/api/settings/get-chat.md): Returns the current value of the `chat` setting for the index. - [Update chat](https://www.meilisearch.com/docs/reference/api/settings/update-chat.md): Updates the `chat` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset chat](https://www.meilisearch.com/docs/reference/api/settings/reset-chat.md): Resets the `chat` setting to its default value. - [Get dictionary](https://www.meilisearch.com/docs/reference/api/settings/get-dictionary.md): Returns the current value of the `dictionary` setting for the index. - [Update dictionary](https://www.meilisearch.com/docs/reference/api/settings/update-dictionary.md): Updates the `dictionary` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset dictionary](https://www.meilisearch.com/docs/reference/api/settings/reset-dictionary.md): Resets the `dictionary` setting to its default value. - [Get displayedAttributes](https://www.meilisearch.com/docs/reference/api/settings/get-displayedattributes.md): Returns the current value of the `displayedAttributes` setting for the index. - [Update displayedAttributes](https://www.meilisearch.com/docs/reference/api/settings/update-displayedattributes.md): Updates the `displayedAttributes` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset displayedAttributes](https://www.meilisearch.com/docs/reference/api/settings/reset-displayedattributes.md): Resets the `displayedAttributes` setting to its default value. - [Get distinctAttribute](https://www.meilisearch.com/docs/reference/api/settings/get-distinctattribute.md): Returns the current value of the `distinctAttribute` setting for the index. - [Update distinctAttribute](https://www.meilisearch.com/docs/reference/api/settings/update-distinctattribute.md): Updates the `distinctAttribute` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset distinctAttribute](https://www.meilisearch.com/docs/reference/api/settings/reset-distinctattribute.md): Resets the `distinctAttribute` setting to its default value. - [Get embedders](https://www.meilisearch.com/docs/reference/api/settings/get-embedders.md): Returns the current value of the `embedders` setting for the index. - [Update embedders](https://www.meilisearch.com/docs/reference/api/settings/update-embedders.md): Updates the `embedders` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset embedders](https://www.meilisearch.com/docs/reference/api/settings/reset-embedders.md): Resets the `embedders` setting to its default value. - [Get facetSearch](https://www.meilisearch.com/docs/reference/api/settings/get-facetsearch.md): Returns the current value of the `facetSearch` setting for the index. - [Update facetSearch](https://www.meilisearch.com/docs/reference/api/settings/update-facetsearch.md): Updates the `facetSearch` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset facetSearch](https://www.meilisearch.com/docs/reference/api/settings/reset-facetsearch.md): Resets the `facetSearch` setting to its default value. - [Get faceting](https://www.meilisearch.com/docs/reference/api/settings/get-faceting.md): Returns the current value of the `faceting` setting for the index. - [Update faceting](https://www.meilisearch.com/docs/reference/api/settings/update-faceting.md): Updates the `faceting` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset faceting](https://www.meilisearch.com/docs/reference/api/settings/reset-faceting.md): Resets the `faceting` setting to its default value. - [Get filterableAttributes](https://www.meilisearch.com/docs/reference/api/settings/get-filterableattributes.md): Returns the current value of the `filterableAttributes` setting for the index. - [Update filterableAttributes](https://www.meilisearch.com/docs/reference/api/settings/update-filterableattributes.md): Updates the `filterableAttributes` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset filterableAttributes](https://www.meilisearch.com/docs/reference/api/settings/reset-filterableattributes.md): Resets the `filterableAttributes` setting to its default value. - [Get foreignKeys](https://www.meilisearch.com/docs/reference/api/settings/get-foreignkeys.md): Returns the current value of the `foreignKeys` setting for the index. - [Update foreignKeys](https://www.meilisearch.com/docs/reference/api/settings/update-foreignkeys.md): Updates the `foreignKeys` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset foreignKeys](https://www.meilisearch.com/docs/reference/api/settings/reset-foreignkeys.md): Resets the `foreignKeys` setting to its default value. - [Get localizedAttributes](https://www.meilisearch.com/docs/reference/api/settings/get-localizedattributes.md): Returns the current value of the `localizedAttributes` setting for the index. - [Update localizedAttributes](https://www.meilisearch.com/docs/reference/api/settings/update-localizedattributes.md): Updates the `localizedAttributes` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset localizedAttributes](https://www.meilisearch.com/docs/reference/api/settings/reset-localizedattributes.md): Resets the `localizedAttributes` setting to its default value. - [Get nonSeparatorTokens](https://www.meilisearch.com/docs/reference/api/settings/get-nonseparatortokens.md): Returns the current value of the `nonSeparatorTokens` setting for the index. - [Update nonSeparatorTokens](https://www.meilisearch.com/docs/reference/api/settings/update-nonseparatortokens.md): Updates the `nonSeparatorTokens` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset nonSeparatorTokens](https://www.meilisearch.com/docs/reference/api/settings/reset-nonseparatortokens.md): Resets the `nonSeparatorTokens` setting to its default value. - [Get pagination](https://www.meilisearch.com/docs/reference/api/settings/get-pagination.md): Returns the current value of the `pagination` setting for the index. - [Update pagination](https://www.meilisearch.com/docs/reference/api/settings/update-pagination.md): Updates the `pagination` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset pagination](https://www.meilisearch.com/docs/reference/api/settings/reset-pagination.md): Resets the `pagination` setting to its default value. - [Get prefixSearch](https://www.meilisearch.com/docs/reference/api/settings/get-prefixsearch.md): Returns the current value of the `prefixSearch` setting for the index. - [Update prefixSearch](https://www.meilisearch.com/docs/reference/api/settings/update-prefixsearch.md): Updates the `prefixSearch` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset prefixSearch](https://www.meilisearch.com/docs/reference/api/settings/reset-prefixsearch.md): Resets the `prefixSearch` setting to its default value. - [Get proximityPrecision](https://www.meilisearch.com/docs/reference/api/settings/get-proximityprecision.md): Returns the current value of the `proximityPrecision` setting for the index. - [Update proximityPrecision](https://www.meilisearch.com/docs/reference/api/settings/update-proximityprecision.md): Updates the `proximityPrecision` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset proximityPrecision](https://www.meilisearch.com/docs/reference/api/settings/reset-proximityprecision.md): Resets the `proximityPrecision` setting to its default value. - [Get rankingRules](https://www.meilisearch.com/docs/reference/api/settings/get-rankingrules.md): Returns the current value of the `rankingRules` setting for the index. - [Update rankingRules](https://www.meilisearch.com/docs/reference/api/settings/update-rankingrules.md): Updates the `rankingRules` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset rankingRules](https://www.meilisearch.com/docs/reference/api/settings/reset-rankingrules.md): Resets the `rankingRules` setting to its default value. - [Get searchCutoffMs](https://www.meilisearch.com/docs/reference/api/settings/get-searchcutoffms.md): Returns the current value of the `searchCutoffMs` setting for the index. - [Update searchCutoffMs](https://www.meilisearch.com/docs/reference/api/settings/update-searchcutoffms.md): Updates the `searchCutoffMs` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset searchCutoffMs](https://www.meilisearch.com/docs/reference/api/settings/reset-searchcutoffms.md): Resets the `searchCutoffMs` setting to its default value. - [Get searchableAttributes](https://www.meilisearch.com/docs/reference/api/settings/get-searchableattributes.md): Returns the current value of the `searchableAttributes` setting for the index. - [Update searchableAttributes](https://www.meilisearch.com/docs/reference/api/settings/update-searchableattributes.md): Updates the `searchableAttributes` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset searchableAttributes](https://www.meilisearch.com/docs/reference/api/settings/reset-searchableattributes.md): Resets the `searchableAttributes` setting to its default value. - [Get separatorTokens](https://www.meilisearch.com/docs/reference/api/settings/get-separatortokens.md): Returns the current value of the `separatorTokens` setting for the index. - [Update separatorTokens](https://www.meilisearch.com/docs/reference/api/settings/update-separatortokens.md): Updates the `separatorTokens` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset separatorTokens](https://www.meilisearch.com/docs/reference/api/settings/reset-separatortokens.md): Resets the `separatorTokens` setting to its default value. - [Get sortableAttributes](https://www.meilisearch.com/docs/reference/api/settings/get-sortableattributes.md): Returns the current value of the `sortableAttributes` setting for the index. - [Update sortableAttributes](https://www.meilisearch.com/docs/reference/api/settings/update-sortableattributes.md): Updates the `sortableAttributes` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset sortableAttributes](https://www.meilisearch.com/docs/reference/api/settings/reset-sortableattributes.md): Resets the `sortableAttributes` setting to its default value. - [Get stopWords](https://www.meilisearch.com/docs/reference/api/settings/get-stopwords.md): Returns the current value of the `stopWords` setting for the index. - [Update stopWords](https://www.meilisearch.com/docs/reference/api/settings/update-stopwords.md): Updates the `stopWords` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset stopWords](https://www.meilisearch.com/docs/reference/api/settings/reset-stopwords.md): Resets the `stopWords` setting to its default value. - [Get synonyms](https://www.meilisearch.com/docs/reference/api/settings/get-synonyms.md): Returns the current value of the `synonyms` setting for the index. - [Update synonyms](https://www.meilisearch.com/docs/reference/api/settings/update-synonyms.md): Updates the `synonyms` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset synonyms](https://www.meilisearch.com/docs/reference/api/settings/reset-synonyms.md): Resets the `synonyms` setting to its default value. - [Get typoTolerance](https://www.meilisearch.com/docs/reference/api/settings/get-typotolerance.md): Returns the current value of the `typoTolerance` setting for the index. - [Update typoTolerance](https://www.meilisearch.com/docs/reference/api/settings/update-typotolerance.md): Updates the `typoTolerance` setting for the index. Send the new value in the request body; send null to reset to default. - [Reset typoTolerance](https://www.meilisearch.com/docs/reference/api/settings/reset-typotolerance.md): Resets the `typoTolerance` setting to its default value. - [Get stats of index](https://www.meilisearch.com/docs/reference/api/indexes/get-stats-of-index.md): Return statistics for a single index: document count, database size, indexing status, and field distribution. - [Get stats of all indexes](https://www.meilisearch.com/docs/reference/api/stats/get-stats-of-all-indexes.md): Return statistics for the Meilisearch instance and for each index. Includes database size, last update time, document counts, and indexing status per index. - [Get health](https://www.meilisearch.com/docs/reference/api/health/get-health.md): The health check endpoint enables you to periodically test the health of your Meilisearch instance. Returns a simple status indicating that the server is available. - [Get version](https://www.meilisearch.com/docs/reference/api/version/get-version.md): Return the current Meilisearch version, including the commit SHA and build date. - [Render template](https://www.meilisearch.com/docs/reference/api/template/render-template.md): Render a template, either fetched from the settings of an index (embedder document template, chat document template, indexing or search fragment) or provided inline, by injecting the given input (a document from an index, an inline document, or a search query). - [Create snapshot](https://www.meilisearch.com/docs/reference/api/backups/create-snapshot.md): Trigger a snapshot creation process. When complete, a snapshot file is written to the snapshot directory. The directory is created if it does not exist. - [Create dump](https://www.meilisearch.com/docs/reference/api/backups/create-dump.md): Trigger a dump creation process. When complete, a dump file is written to the [dump directory](https://www.meilisearch.com/docs/learn/self_hosted/configure_meilisearch_at_launch#dump-directory). The directory is created if it does not exist. - [Retrieve logs](https://www.meilisearch.com/docs/reference/api/logs/retrieve-logs.md): Stream logs over HTTP. The format of the logs depends on the configuration specified in the payload. The logs are sent as multi-part, and the stream never stops, so ensure your client can handle a long-lived connection. To stop receiving logs, call the `DELETE /logs/stream` route. - [Stop retrieving logs](https://www.meilisearch.com/docs/reference/api/logs/stop-retrieving-logs.md): Call this route to make the engine stop sending logs to the client that opened the `POST /logs/stream` connection. - [Update target of the console logs](https://www.meilisearch.com/docs/reference/api/logs/update-target-of-the-console-logs.md): Configure at runtime the level of the console logs written to stderr (e.g. debug, info, warn, error). - [Get Prometheus metrics](https://www.meilisearch.com/docs/reference/api/stats/get-prometheus-metrics.md): Return metrics for the engine in Prometheus format. This is an [experimental feature](https://www.meilisearch.com/docs/learn/experimental/overview) and must be enabled before use. - [List experimental features](https://www.meilisearch.com/docs/reference/api/experimental-features/list-experimental-features.md): Return all experimental features that can be toggled via this API, and whether each one is currently enabled or disabled. - [Configure experimental features](https://www.meilisearch.com/docs/reference/api/experimental-features/configure-experimental-features.md): Enable or disable experimental features at runtime. - [Get network topology](https://www.meilisearch.com/docs/reference/api/experimental-features/get-network-topology.md): Return the list of Meilisearch instances currently known to this node (self and remotes). - [Configure network topology](https://www.meilisearch.com/docs/reference/api/experimental-features/configure-network-topology.md): Add or remove remote nodes from the network. Changes apply to the current instance’s view of the cluster. - [Network control](https://www.meilisearch.com/docs/reference/api/experimental-features/network-control.md): Send messages to control the progress of a network topology change task. - [List webhooks](https://www.meilisearch.com/docs/reference/api/webhooks/list-webhooks.md): Return all webhooks registered on the instance. Each webhook is returned with its URL, optional headers, and UUID (the key value is never returned). - [Create webhook](https://www.meilisearch.com/docs/reference/api/webhooks/create-webhook.md): Register a new webhook to receive task completion notifications. You can optionally set custom headers (e.g. for authentication) and configure the callback URL. - [Get webhook](https://www.meilisearch.com/docs/reference/api/webhooks/get-webhook.md): Retrieve a single webhook by its UUID. - [Update webhook](https://www.meilisearch.com/docs/reference/api/webhooks/update-webhook.md): Update the URL or headers of an existing webhook identified by its UUID. - [Delete webhook](https://www.meilisearch.com/docs/reference/api/webhooks/delete-webhook.md): Permanently remove a webhook by its UUID. The webhook will no longer receive task notifications. - [Compact index](https://www.meilisearch.com/docs/reference/api/indexes/compact-index.md): Trigger a compaction process on the specified index. - [Compact task queue](https://www.meilisearch.com/docs/reference/api/async-task-management/compact-task-queue.md): Trigger a compaction process on the task queue database and return its size before and after compaction. A successful compaction requires restarting the instance before it can safely resume normal writes. - [Export to a remote Meilisearch](https://www.meilisearch.com/docs/reference/api/export/export-to-a-remote-meilisearch.md): Trigger an export that sends documents and settings from this instance to a remote Meilisearch server. Configure the remote URL and optional API key in the request body. - [Render template](https://www.meilisearch.com/docs/reference/api/template/render-template.md): Render a template, either fetched from the settings of an index (embedder document template, chat document template, indexing or search fragment) or provided inline, by injecting the given input (a document from an index, an inline document, or a search query). - [Errors](https://www.meilisearch.com/docs/reference/errors/overview.md): Consult this page for an overview of how Meilisearch reports and formats error objects. - [Error codes](https://www.meilisearch.com/docs/reference/errors/error_codes.md): Consult this page for an exhaustive list of errors you may encounter when using the Meilisearch API. - [Comparison to alternatives](https://www.meilisearch.com/docs/resources/comparisons/alternatives.md): Deciding on a search engine for your project is an important but difficult task. This article describes the differences between Meilisearch and other search engines. - [Meilisearch vs Elasticsearch](https://www.meilisearch.com/docs/resources/comparisons/elasticsearch.md): Compare Meilisearch and Elasticsearch to find the right search solution for your project. Learn key differences in setup, performance, and use cases. - [Meilisearch vs Algolia](https://www.meilisearch.com/docs/resources/comparisons/algolia.md): Compare Meilisearch and Algolia to find the right search-as-a-service solution. Learn about pricing, features, and when each makes sense. - [Meilisearch vs Typesense](https://www.meilisearch.com/docs/resources/comparisons/typesense.md): Compare Meilisearch and Typesense, two open-source search engines focused on speed and developer experience. Learn key differences and when to choose each. - [Meilisearch vs PostgreSQL search](https://www.meilisearch.com/docs/resources/comparisons/postgresql.md): Compare Meilisearch with PostgreSQL's built-in full-text search and the pgvector extension. Learn when a dedicated search engine outperforms database search. - [Meilisearch vs Pinecone](https://www.meilisearch.com/docs/resources/comparisons/pinecone.md): Compare Meilisearch and Pinecone for AI-powered search. Learn when a vector database vs a hybrid search engine makes sense. - [Meilisearch vs Qdrant](https://www.meilisearch.com/docs/resources/comparisons/qdrant.md): Compare Meilisearch and Qdrant for semantic search. Learn the differences between hybrid search engines and vector databases. - [Meilisearch vs OpenSearch](https://www.meilisearch.com/docs/resources/comparisons/opensearch.md): Compare Meilisearch and OpenSearch for search and analytics. Learn the differences and when each solution makes sense. - [Meilisearch vs MongoDB Atlas Search](https://www.meilisearch.com/docs/resources/comparisons/mongodb.md): Compare Meilisearch with MongoDB Atlas Search. Learn when a dedicated search engine outperforms database-integrated search. - [Migrating to Meilisearch Cloud](https://www.meilisearch.com/docs/resources/migration/migrating_cloud.md): Meilisearch Cloud is the recommended way of using Meilisearch. This guide walks you through migrating Meilisearch from a self-hosted installation to Meilisearch Cloud. - [Update to the latest Meilisearch version](https://www.meilisearch.com/docs/resources/migration/updating.md): Learn how to migrate to the latest Meilisearch release. - [Migrating from Algolia to Meilisearch](https://www.meilisearch.com/docs/resources/migration/algolia_migration.md): This guide will take you step-by-step through the creation of a script to upload data indexed by Algolia to Meilisearch. - [Migrating from Elasticsearch to Meilisearch](https://www.meilisearch.com/docs/resources/migration/elasticsearch_migration.md): A step-by-step guide to exporting data from Elasticsearch and importing it into Meilisearch, with a comparison of settings, queries, and API methods. - [Migrating from Qdrant to Meilisearch](https://www.meilisearch.com/docs/resources/migration/qdrant_migration.md): A step-by-step guide to exporting data from Qdrant and importing it into Meilisearch, with a comparison of settings, queries, and API methods. - [Migrating from MongoDB Atlas Search to Meilisearch](https://www.meilisearch.com/docs/resources/migration/mongodb_migration.md): A step-by-step guide to exporting data from MongoDB Atlas Search and importing it into Meilisearch, with a comparison of settings, queries, and API methods. - [Migrating from PostgreSQL full-text search to Meilisearch](https://www.meilisearch.com/docs/resources/migration/postgresql_migration.md): A step-by-step guide to moving search from PostgreSQL (tsvector/tsquery and pgvector) to Meilisearch, with a comparison of settings, queries, and search features. - [Migrating from Supabase full-text search to Meilisearch](https://www.meilisearch.com/docs/resources/migration/supabase_migration.md): A step-by-step guide to moving search from Supabase (tsvector/tsquery and pgvector via Supabase Vector) to Meilisearch, with a comparison of settings, queries, and search features. - [Self-hosting Meilisearch](https://www.meilisearch.com/docs/resources/self_hosting/overview.md): Learn about self-hosting Meilisearch, from installation to production deployment, security, and backups. - [Getting started with self-hosted Meilisearch](https://www.meilisearch.com/docs/resources/self_hosting/getting_started/quick_start.md): Learn how to install Meilisearch, index a dataset, and perform your first search. - [Install Meilisearch locally](https://www.meilisearch.com/docs/resources/self_hosting/getting_started/install_locally.md): Install Meilisearch locally on Linux, macOS, or Windows using cURL, Docker, Homebrew, APT, or from source. - [Using Meilisearch with Docker](https://www.meilisearch.com/docs/resources/self_hosting/getting_started/docker.md): Learn how to use Docker to download and run Meilisearch, configure its behavior, and manage your Meilisearch data. - [Search preview](https://www.meilisearch.com/docs/resources/self_hosting/getting_started/search_preview.md): Meilisearch comes with a built-in search interface for quick testing during development. - [Configure Meilisearch at launch](https://www.meilisearch.com/docs/resources/self_hosting/configuration/overview.md): Configure Meilisearch at launch with command-line options, environment variables, or a configuration file. - [Configuration reference](https://www.meilisearch.com/docs/resources/self_hosting/configuration/reference.md): Complete reference of all Meilisearch instance configuration options, environment variables, and CLI flags. - [Deploying Meilisearch](https://www.meilisearch.com/docs/resources/self_hosting/deployment/overview.md): Choose a deployment strategy for running Meilisearch in production, from single-server setups to cloud provider deployments. - [Running Meilisearch in production](https://www.meilisearch.com/docs/resources/self_hosting/deployment/running_production.md): Deploy Meilisearch in a Digital Ocean droplet. Covers installation, server configuration, and securing your instance. - [Deploy on AWS](https://www.meilisearch.com/docs/resources/self_hosting/deployment/aws.md): Deploy Meilisearch on an AWS EC2 instance. Covers installation, server configuration, and securing your instance. - [Deploy on Google Cloud](https://www.meilisearch.com/docs/resources/self_hosting/deployment/gcp.md): Deploy Meilisearch on a Google Cloud Compute Engine VM. Covers installation, server configuration, and securing your instance. - [Deploy on DigitalOcean](https://www.meilisearch.com/docs/resources/self_hosting/deployment/digitalocean.md): Deploy Meilisearch on a DigitalOcean droplet. Covers installation, server configuration, and securing your instance. - [Securing self-hosted Meilisearch](https://www.meilisearch.com/docs/resources/self_hosting/security/overview.md): Understand the Meilisearch security model, from master keys to API keys, and learn how to protect your instance. - [Master key and API keys](https://www.meilisearch.com/docs/resources/self_hosting/security/master_api_keys.md): Understand the differences between master key and API keys, and how to manage them in self-hosted Meilisearch. - [Securing your project](https://www.meilisearch.com/docs/resources/self_hosting/security/basic_security.md): This tutorial will show you how to secure your Meilisearch project. - [Resetting the master key](https://www.meilisearch.com/docs/resources/self_hosting/security/resetting_master_key.md): This guide shows you how to reset the master key in Meilisearch Cloud and self-hosted instances. - [Protected and unprotected Meilisearch projects](https://www.meilisearch.com/docs/resources/self_hosting/security/protected_unprotected.md): This article explains the differences between protected and unprotected Meilisearch projects and instances. - [Using HTTP/2 and SSL with Meilisearch](https://www.meilisearch.com/docs/resources/self_hosting/security/http2_ssl.md): Learn how to configure a server to use Meilisearch with HTTP/2. - [Backing up Meilisearch data](https://www.meilisearch.com/docs/resources/self_hosting/data_backup/overview.md): Meilisearch offers two backup methods: snapshots for periodic safeguards and dumps for version migration. Learn when to use each. - [Exporting and importing dumps](https://www.meilisearch.com/docs/resources/self_hosting/data_backup/dumps.md): Dumps are data backups containing all data related to a Meilisearch instance. They are often useful when migrating to a new Meilisearch release. - [Exporting and using Snapshots](https://www.meilisearch.com/docs/resources/self_hosting/data_backup/snapshots.md): Snapshots are exact copies of Meilisearch databases. They are often useful for periodical backups. - [Replication and sharding](https://www.meilisearch.com/docs/resources/self_hosting/sharding/overview.md): Scale Meilisearch horizontally by distributing documents across multiple instances with sharding, and ensure high availability with replication. - [Set up a sharded cluster](https://www.meilisearch.com/docs/resources/self_hosting/sharding/setup_sharded_cluster.md): Configure Meilisearch instances into a sharded cluster with replication for horizontal scaling and high availability. - [Configure replication for high availability](https://www.meilisearch.com/docs/resources/self_hosting/sharding/configure_replication.md): Set up replicated shards across multiple Meilisearch instances to ensure high availability and distribute search load. - [Manage the network](https://www.meilisearch.com/docs/resources/self_hosting/sharding/manage_network.md): Add remotes, update shard assignments, and manage your Meilisearch network topology dynamically. Includes rebalancing behavior and validation rules. - [Impact of RAM and multi-threading on indexing performance](https://www.meilisearch.com/docs/resources/self_hosting/performance/ram_multithreading.md): Adding new documents to a Meilisearch index is a multi-threaded and memory-intensive operation. Consult this article for more information on indexing performance. - [Using task webhooks](https://www.meilisearch.com/docs/resources/self_hosting/webhooks.md): Learn how to use webhooks to react to changes in your Meilisearch database. - [Computing Hugging Face embeddings with the GPU](https://www.meilisearch.com/docs/resources/self_hosting/huggingface_gpu.md): This guide for experienced users shows you how to compile a Meilisearch binary that generates Hugging Face embeddings with an Nvidia GPU. - [Enterprise and Community editions](https://www.meilisearch.com/docs/resources/self_hosting/enterprise_edition.md): Self-hosted users can choose between the Community Edition and the Enterprise Edition. The Community edition is free under the MIT license, while Enterprise offers advanced features under a BUSL license. - [Demos](https://www.meilisearch.com/docs/resources/demos/overview.md): Explore interactive demos showcasing Meilisearch capabilities - [Where to Watch](https://www.meilisearch.com/docs/resources/demos/where_to_watch.md): Movie discovery app showcasing hybrid search, recommendations, and multi-lingual semantic search - [Home Booking](https://www.meilisearch.com/docs/resources/demos/home_booking.md): Airbnb-style home booking demo with conversational chat search and classic search powered by Meilisearch - [E-commerce](https://www.meilisearch.com/docs/resources/demos/ecommerce.md): Product search with facets, filtering, sorting, image search, and infinite scroll - [SaaS CRM Search](https://www.meilisearch.com/docs/resources/demos/saas.md): Multi-tenant CRM search with native data isolation per user - [Image Search](https://www.meilisearch.com/docs/resources/demos/flickr.md): Multimodal search across 100 million images with similar image discovery - [Personalized Search](https://www.meilisearch.com/docs/resources/demos/personalized_search.md): Dynamic search personalization with real-time user context customization - [Search Playground](https://www.meilisearch.com/docs/resources/demos/playground.md): Compare search engines and embedders side by side - [Music Search](https://www.meilisearch.com/docs/resources/demos/music.md): Search 40 million songs with instant results - [Geosearch](https://www.meilisearch.com/docs/resources/demos/geosearch.md): Search cities on an interactive map with geo filtering and distance sorting - [MoMA Collection](https://www.meilisearch.com/docs/resources/demos/moma.md): Search the Museum of Modern Art's collection by artist, title, or medium - [Nobel Prizes](https://www.meilisearch.com/docs/resources/demos/nobel_prizes.md): Search Nobel Prize winners by name, category, or achievement - [Tenant Tokens](https://www.meilisearch.com/docs/resources/demos/tenant_tokens.md): Multi-tenant data isolation with server-side JWT filtering - [Typo Tolerance](https://www.meilisearch.com/docs/resources/demos/typo_tolerance.md): Experiment with different typo tolerance configurations - [RubyGems Finder](https://www.meilisearch.com/docs/resources/demos/rubygems.md): Search Ruby packages with popularity-based ranking - [Hydration](https://www.meilisearch.com/docs/resources/demos/hydration.md): Search results enriched with related data from other indexes using foreign keys - [Federated Search](https://www.meilisearch.com/docs/resources/demos/federated_search.md): Compare multi-search with and without result federation - [Documents](https://www.meilisearch.com/docs/resources/internals/documents.md): Documents are the individual items that make up a dataset. Each document is an object composed of one or more fields. - [Indexes](https://www.meilisearch.com/docs/resources/internals/indexes.md): An index is a collection of documents, much like a table in MySQL or a collection in MongoDB. - [Primary key](https://www.meilisearch.com/docs/resources/internals/primary_key.md): The primary key is a special field that must be present in all documents indexed by Meilisearch. - [Storage](https://www.meilisearch.com/docs/resources/internals/storage.md): Learn about how Meilisearch stores and handles data in its LMDB storage engine. - [Data types](https://www.meilisearch.com/docs/resources/internals/datatypes.md): Learn about how Meilisearch handles different data types: strings, numerical values, booleans, arrays, and objects. - [Meilisearch ranking: a multi-criteria system beyond BM25](https://www.meilisearch.com/docs/resources/internals/ranking.md): How Meilisearch's multi-criteria ranking system works, why it produces better results than BM25 for user-facing search, and the technical trade-offs involved. - [Bucket sort](https://www.meilisearch.com/docs/resources/internals/bucket_sort.md): How Meilisearch uses bucket sort to rank search results through sequential ranking rules. - [Vector storage: DiskANN](https://www.meilisearch.com/docs/resources/internals/hannoy.md): How Meilisearch stores and searches vector embeddings using a disk-backed DiskANN approach, implemented through its Hannoy library for fast and scalable vector search. - [Concatenated and split queries](https://www.meilisearch.com/docs/resources/internals/concat.md): When a query contains several terms, Meilisearch looks for both individual terms and their combinations. - [Prefix search](https://www.meilisearch.com/docs/resources/internals/prefix.md): Prefix search is a core part of Meilisearch's design and allows users to receive results even when their query only contains a single letter. - [Typo tolerance vs fuzzy search: how Meilisearch handles misspellings](https://www.meilisearch.com/docs/resources/internals/typo_tolerance.md): How Meilisearch's typo tolerance works under the hood, why it differs from fuzzy search in Elasticsearch, Solr, MongoDB Atlas Search, Manticore, and PostgreSQL, and what the practical implications are. - [Language](https://www.meilisearch.com/docs/resources/help/language.md): Meilisearch is compatible with datasets in any language. It features optimized tokenization for many language families and supports multilingual semantic search through embedding models. - [Official SDKs and libraries](https://www.meilisearch.com/docs/resources/help/sdks.md): Meilisearch SDKs are available in many popular programming languages and frameworks. Consult this page for a full list of officially supported libraries. - [FAQ](https://www.meilisearch.com/docs/resources/help/faq.md): Common questions about Meilisearch features, setup, performance, and troubleshooting. - [Known limitations](https://www.meilisearch.com/docs/resources/help/known_limitations.md): Meilisearch has a number of known limitations. These are hard limits you cannot change and should take into account when designing your application. - [Experimental features overview](https://www.meilisearch.com/docs/resources/help/experimental_features_overview.md): This article covers how to activate and configure Meilisearch experimental features. - [Telemetry](https://www.meilisearch.com/docs/resources/help/telemetry.md): Meilisearch collects anonymized data from users in order to improve our product. Consult this page for an exhaustive list of collected data and instructions on how to deactivate telemetry. - [Versioning policy](https://www.meilisearch.com/docs/resources/help/versioning.md): This article describes the system behind Meilisearch's SDK and engine version numbering and compatibility. - [Contributing to our documentation](https://www.meilisearch.com/docs/resources/help/contributing_docs.md): The Meilisearch documentation is open-source. Learn how to help make it even better. - [Carbon footprint of Meilisearch Cloud regions](https://www.meilisearch.com/docs/resources/help/carbon_footprint.md): Understand the grid carbon intensity displayed next to Meilisearch Cloud regions, how it is calculated, and why it matters. - [Accessing previous docs versions](https://www.meilisearch.com/docs/resources/migration/previous_docs_version.md): Meilisearch documentation only covers the engine's latest stable release. Learn how to access the docs for previous Meilisearch versions. - [Changelog](https://www.meilisearch.com/docs/changelog/changelog.md): New features and improvements in Meilisearch ## OpenAPI Specs - [.code-samples.meilisearch](/docs/.code-samples.meilisearch.yaml) - [books](/docs/assets/datasets/books.json) - [crm-chats](/docs/assets/datasets/crm-chats.json) - [crm-profiles](/docs/assets/datasets/crm-profiles.json) - [crm-tickets](/docs/assets/datasets/crm-tickets.json) - [kitchenware](/docs/assets/datasets/kitchenware.json) - [movies](/docs/assets/datasets/movies.json) - [restaurants](/docs/assets/datasets/restaurants.json) - [stories](/docs/assets/datasets/stories.json) - [videogames](/docs/assets/datasets/videogames.json) - [meilisearch-openapi-mintlify](/docs/assets/open-api/meilisearch-openapi-mintlify.json) - [meilisearch-openapi](/docs/assets/open-api/meilisearch-openapi.json) - [docs-scraper.config](/docs/docs-scraper.config.json) - [package-lock](/docs/package-lock.json) - [package](/docs/package.json)