# Meilisearch Documentation ## Docs - [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. - [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. - [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. - [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. - [Analytics](https://www.meilisearch.com/docs/capabilities/analytics/overview.md): Track search events, user clicks, and conversions to measure and improve your search relevancy. - [Chat tooling reference](https://www.meilisearch.com/docs/capabilities/conversational_search/advanced/chat_tooling_reference.md): An exhaustive reference of special chat tools supported by Meilisearch - [Reduce hallucination](https://www.meilisearch.com/docs/capabilities/conversational_search/advanced/reduce_hallucination.md): Techniques to minimize LLM hallucination in conversational search, including few-shot prompting, system prompt engineering, and guardrail strategies. - [Build a chat interface](https://www.meilisearch.com/docs/capabilities/conversational_search/getting_started/chat.md): Build a multi-turn conversational search interface using Meilisearch's chat completions API. - [Generate summarized answers](https://www.meilisearch.com/docs/capabilities/conversational_search/getting_started/one_shot_summarization.md): Generate single, concise AI answers from your search results without maintaining conversation history. - [Set up conversational search](https://www.meilisearch.com/docs/capabilities/conversational_search/getting_started/setup.md): Enable the chat completions feature, configure your indexes, and create a workspace to start using conversational search. - [Configure a chat workspace](https://www.meilisearch.com/docs/capabilities/conversational_search/how_to/configure_chat_workspace.md): Set up a chat workspace with a system prompt, tools, and connected indexes for conversational search. - [Configure guardrails](https://www.meilisearch.com/docs/capabilities/conversational_search/how_to/configure_guardrails.md): Limit hallucination and restrict conversational search responses to topics covered by your indexed documents. - [Configure index chat settings](https://www.meilisearch.com/docs/capabilities/conversational_search/how_to/configure_index_chat_settings.md): Control how each index is described to the LLM and how it is searched during conversational search. - [Display source documents](https://www.meilisearch.com/docs/capabilities/conversational_search/how_to/display_source_documents.md): Show users which indexed documents were used to generate a conversational search response. - [Handle errors and fallbacks](https://www.meilisearch.com/docs/capabilities/conversational_search/how_to/handle_errors_and_fallbacks.md): Build resilient conversational search by handling LLM failures, empty results, rate limiting, and providing meaningful fallback responses. - [Optimize chat prompts](https://www.meilisearch.com/docs/capabilities/conversational_search/how_to/optimize_chat_prompts.md): Improve conversational search response quality by tuning system prompts, document templates, and index chat settings. - [Stream chat responses](https://www.meilisearch.com/docs/capabilities/conversational_search/how_to/stream_chat_responses.md): Implement streaming for real-time conversational search, delivering AI responses token by token as they are generated. - [What is conversational search?](https://www.meilisearch.com/docs/capabilities/conversational_search/overview.md): Conversational search allows people to make search queries using natural languages and receive AI-generated answers grounded in your data. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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 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. - [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. - [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. - [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. - [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. - [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, 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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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 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 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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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 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. - [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. - [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. - [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. - [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. - [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. - [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. - [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`. - [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. - [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. - [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. - [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. - [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 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 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 - [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 - [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. - [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. - [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 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 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 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. - [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 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 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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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](https://www.meilisearch.com/docs/capabilities/indexing/overview.md): Add, update, and manage documents in Meilisearch indexes, including task monitoring and batch operations. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [Invoices](https://www.meilisearch.com/docs/capabilities/platform/billing/invoices.md): View and download your Meilisearch Cloud invoice history through the Stripe customer portal. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [Cloud regions](https://www.meilisearch.com/docs/capabilities/platform/infrastructure/regions.md): Reference of all available Meilisearch Cloud regions with location and latency guidance. - [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. - [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. - [Experimental features](https://www.meilisearch.com/docs/capabilities/platform/management/experimental_features.md): Enable or disable experimental Meilisearch features from the Cloud project settings. - [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. - [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. - [Monitoring](https://www.meilisearch.com/docs/capabilities/platform/monitoring/overview.md): Monitor search performance, indexing health, and API operations for your Meilisearch Cloud projects. - [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. - [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. - [Operations](https://www.meilisearch.com/docs/capabilities/platform/monitoring/usage_metrics.md): Monitor bandwidth and API call activity for your Meilisearch Cloud project. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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 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. - [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. - [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. - [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. - [Changelog](https://www.meilisearch.com/docs/changelog/changelog.md): New features and improvements in Meilisearch - [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. - [First Project](https://www.meilisearch.com/docs/getting_started/first_project.md): Learn how to create your first Meilisearch Cloud project. - [Laravel Scout guide](https://www.meilisearch.com/docs/getting_started/frameworks/laravel.md): Learn how to use Meilisearch with Laravel Scout. - [Ruby on Rails quick start](https://www.meilisearch.com/docs/getting_started/frameworks/rails.md): Integrate Meilisearch into your Ruby on Rails app. - [Strapi v4 guide](https://www.meilisearch.com/docs/getting_started/frameworks/strapi.md): Learn how to use Meilisearch with Strapi v4. - [Symfony](https://www.meilisearch.com/docs/getting_started/frameworks/symfony.md): Integrate Meilisearch with Symfony using the official bundle. - [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. - [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. - [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. - [Firebase](https://www.meilisearch.com/docs/getting_started/integrations/firebase.md): Sync your Firestore documents to Meilisearch using the official Firebase extension. - [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. - [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. - [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 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. - [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. - [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 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 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. - [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. - [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. - [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. - [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. - [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. - [Integrate Meilisearch Cloud with Vercel](https://www.meilisearch.com/docs/getting_started/integrations/vercel.md): Link Meilisearch Cloud to a Vercel Project. - [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. - [Dart quick start](https://www.meilisearch.com/docs/getting_started/sdks/dart.md): Get started with Meilisearch using the Dart 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. - [Go quick start](https://www.meilisearch.com/docs/getting_started/sdks/go.md): Get started with Meilisearch using the Go 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. - [JavaScript quick start](https://www.meilisearch.com/docs/getting_started/sdks/javascript.md): Get started with Meilisearch using the JavaScript 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. - [Python quick start](https://www.meilisearch.com/docs/getting_started/sdks/python.md): Get started with Meilisearch using the Python 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. - [Rust quick start](https://www.meilisearch.com/docs/getting_started/sdks/rust.md): Get started with Meilisearch using the Rust 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. - [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. - [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. - [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. - [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. - [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. - [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. - [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). - [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). - [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). - [Authorization](https://www.meilisearch.com/docs/reference/api/authorization.md): How to authenticate with the Meilisearch API using API keys and the Authorization header. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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 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 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 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. - [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. - [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. - [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. - [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. - [Configure experimental features](https://www.meilisearch.com/docs/reference/api/experimental-features/configure-experimental-features.md): Enable or disable experimental features at runtime. - [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. - [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). - [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. - [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. - [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. - [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. - [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. - [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. - [Compact index](https://www.meilisearch.com/docs/reference/api/indexes/compact-index.md): Trigger a compaction process on the specified index. - [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). - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [Update API key](https://www.meilisearch.com/docs/reference/api/keys/update-api-key.md): Update the name and description of an API key. - [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). - [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. - [OpenAPI specifications](https://www.meilisearch.com/docs/reference/api/openapi.md): Meilisearch OpenAPI specifications and where to find them. - [Pagination](https://www.meilisearch.com/docs/reference/api/pagination.md): How Meilisearch paginates GET routes and the structure of paginated responses. - [Requests](https://www.meilisearch.com/docs/reference/api/requests.md): Parameters, requests & response bodies, and data types for the Meilisearch API. - [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. - [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. - [List search rules](https://www.meilisearch.com/docs/reference/api/search-rules/list-search-rules.md): Return all search rules configured on the instance. - [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. - [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. - [Get chat](https://www.meilisearch.com/docs/reference/api/settings/get-chat.md): Returns the current value of the `chat` setting for the index. - [Get dictionary](https://www.meilisearch.com/docs/reference/api/settings/get-dictionary.md): Returns the current value of the `dictionary` setting for the index. - [Get displayedAttributes](https://www.meilisearch.com/docs/reference/api/settings/get-displayedattributes.md): Returns the current value of the `displayedAttributes` setting for the index. - [Get distinctAttribute](https://www.meilisearch.com/docs/reference/api/settings/get-distinctattribute.md): Returns the current value of the `distinctAttribute` setting for the index. - [Get embedders](https://www.meilisearch.com/docs/reference/api/settings/get-embedders.md): Returns the current value of the `embedders` setting for the index. - [Get faceting](https://www.meilisearch.com/docs/reference/api/settings/get-faceting.md): Returns the current value of the `faceting` setting for the index. - [Get facetSearch](https://www.meilisearch.com/docs/reference/api/settings/get-facetsearch.md): Returns the current value of the `facetSearch` setting for the index. - [Get filterableAttributes](https://www.meilisearch.com/docs/reference/api/settings/get-filterableattributes.md): Returns the current value of the `filterableAttributes` setting for the index. - [Get foreignKeys](https://www.meilisearch.com/docs/reference/api/settings/get-foreignkeys.md): Returns the current value of the `foreignKeys` setting for the index. - [Get localizedAttributes](https://www.meilisearch.com/docs/reference/api/settings/get-localizedattributes.md): Returns the current value of the `localizedAttributes` setting for the index. - [Get nonSeparatorTokens](https://www.meilisearch.com/docs/reference/api/settings/get-nonseparatortokens.md): Returns the current value of the `nonSeparatorTokens` setting for the index. - [Get pagination](https://www.meilisearch.com/docs/reference/api/settings/get-pagination.md): Returns the current value of the `pagination` setting for the index. - [Get prefixSearch](https://www.meilisearch.com/docs/reference/api/settings/get-prefixsearch.md): Returns the current value of the `prefixSearch` setting for the index. - [Get proximityPrecision](https://www.meilisearch.com/docs/reference/api/settings/get-proximityprecision.md): Returns the current value of the `proximityPrecision` setting for the index. - [Get rankingRules](https://www.meilisearch.com/docs/reference/api/settings/get-rankingrules.md): Returns the current value of the `rankingRules` setting for the index. - [Get searchableAttributes](https://www.meilisearch.com/docs/reference/api/settings/get-searchableattributes.md): Returns the current value of the `searchableAttributes` setting for the index. - [Get searchCutoffMs](https://www.meilisearch.com/docs/reference/api/settings/get-searchcutoffms.md): Returns the current value of the `searchCutoffMs` setting for the index. - [Get separatorTokens](https://www.meilisearch.com/docs/reference/api/settings/get-separatortokens.md): Returns the current value of the `separatorTokens` setting for the index. - [Get sortableAttributes](https://www.meilisearch.com/docs/reference/api/settings/get-sortableattributes.md): Returns the current value of the `sortableAttributes` setting for the index. - [Get stopWords](https://www.meilisearch.com/docs/reference/api/settings/get-stopwords.md): Returns the current value of the `stopWords` setting for the index. - [Get synonyms](https://www.meilisearch.com/docs/reference/api/settings/get-synonyms.md): Returns the current value of the `synonyms` setting for the index. - [Get typoTolerance](https://www.meilisearch.com/docs/reference/api/settings/get-typotolerance.md): Returns the current value of the `typoTolerance` setting for the index. - [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. - [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. - [Reset chat](https://www.meilisearch.com/docs/reference/api/settings/reset-chat.md): Resets the `chat` setting to its default value. - [Reset dictionary](https://www.meilisearch.com/docs/reference/api/settings/reset-dictionary.md): Resets the `dictionary` setting to its default value. - [Reset displayedAttributes](https://www.meilisearch.com/docs/reference/api/settings/reset-displayedattributes.md): Resets the `displayedAttributes` setting to its default value. - [Reset distinctAttribute](https://www.meilisearch.com/docs/reference/api/settings/reset-distinctattribute.md): Resets the `distinctAttribute` setting to its default value. - [Reset embedders](https://www.meilisearch.com/docs/reference/api/settings/reset-embedders.md): Resets the `embedders` setting to its default value. - [Reset faceting](https://www.meilisearch.com/docs/reference/api/settings/reset-faceting.md): Resets the `faceting` setting to its default value. - [Reset facetSearch](https://www.meilisearch.com/docs/reference/api/settings/reset-facetsearch.md): Resets the `facetSearch` setting to its default value. - [Reset filterableAttributes](https://www.meilisearch.com/docs/reference/api/settings/reset-filterableattributes.md): Resets the `filterableAttributes` setting to its default value. - [Reset foreignKeys](https://www.meilisearch.com/docs/reference/api/settings/reset-foreignkeys.md): Resets the `foreignKeys` setting to its default value. - [Reset localizedAttributes](https://www.meilisearch.com/docs/reference/api/settings/reset-localizedattributes.md): Resets the `localizedAttributes` setting to its default value. - [Reset nonSeparatorTokens](https://www.meilisearch.com/docs/reference/api/settings/reset-nonseparatortokens.md): Resets the `nonSeparatorTokens` setting to its default value. - [Reset pagination](https://www.meilisearch.com/docs/reference/api/settings/reset-pagination.md): Resets the `pagination` setting to its default value. - [Reset prefixSearch](https://www.meilisearch.com/docs/reference/api/settings/reset-prefixsearch.md): Resets the `prefixSearch` setting to its default value. - [Reset proximityPrecision](https://www.meilisearch.com/docs/reference/api/settings/reset-proximityprecision.md): Resets the `proximityPrecision` setting to its default value. - [Reset rankingRules](https://www.meilisearch.com/docs/reference/api/settings/reset-rankingrules.md): Resets the `rankingRules` setting to its default value. - [Reset searchableAttributes](https://www.meilisearch.com/docs/reference/api/settings/reset-searchableattributes.md): Resets the `searchableAttributes` setting to its default value. - [Reset searchCutoffMs](https://www.meilisearch.com/docs/reference/api/settings/reset-searchcutoffms.md): Resets the `searchCutoffMs` setting to its default value. - [Reset separatorTokens](https://www.meilisearch.com/docs/reference/api/settings/reset-separatortokens.md): Resets the `separatorTokens` setting to its default value. - [Reset sortableAttributes](https://www.meilisearch.com/docs/reference/api/settings/reset-sortableattributes.md): Resets the `sortableAttributes` setting to its default value. - [Reset stopWords](https://www.meilisearch.com/docs/reference/api/settings/reset-stopwords.md): Resets the `stopWords` setting to its default value. - [Reset synonyms](https://www.meilisearch.com/docs/reference/api/settings/reset-synonyms.md): Resets the `synonyms` setting to its default value. - [Reset typoTolerance](https://www.meilisearch.com/docs/reference/api/settings/reset-typotolerance.md): Resets the `typoTolerance` setting to its default value. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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 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. - [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. - [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). - [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. - [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. - [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. - [Get webhook](https://www.meilisearch.com/docs/reference/api/webhooks/get-webhook.md): Retrieve a single webhook by its UUID. - [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). - [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. - [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. - [Errors](https://www.meilisearch.com/docs/reference/errors/overview.md): Consult this page for an overview of how Meilisearch reports and formats error objects. - [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. - [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 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. - [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 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 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 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 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. - [E-commerce](https://www.meilisearch.com/docs/resources/demos/ecommerce.md): Product search with facets, filtering, sorting, image search, and infinite scroll - [Federated Search](https://www.meilisearch.com/docs/resources/demos/federated_search.md): Compare multi-search with and without result federation - [Image Search](https://www.meilisearch.com/docs/resources/demos/flickr.md): Multimodal search across 100 million images with similar image discovery - [Geosearch](https://www.meilisearch.com/docs/resources/demos/geosearch.md): Search cities on an interactive map with geo filtering and distance sorting - [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 - [Hydration](https://www.meilisearch.com/docs/resources/demos/hydration.md): Search results enriched with related data from other indexes using foreign keys - [MoMA Collection](https://www.meilisearch.com/docs/resources/demos/moma.md): Search the Museum of Modern Art's collection by artist, title, or medium - [Music Search](https://www.meilisearch.com/docs/resources/demos/music.md): Search 40 million songs with instant results - [Nobel Prizes](https://www.meilisearch.com/docs/resources/demos/nobel_prizes.md): Search Nobel Prize winners by name, category, or achievement - [Demos](https://www.meilisearch.com/docs/resources/demos/overview.md): Explore interactive demos showcasing Meilisearch capabilities - [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 - [RubyGems Finder](https://www.meilisearch.com/docs/resources/demos/rubygems.md): Search Ruby packages with popularity-based ranking - [SaaS CRM Search](https://www.meilisearch.com/docs/resources/demos/saas.md): Multi-tenant CRM search with native data isolation per user - [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 - [Voice Search](https://www.meilisearch.com/docs/resources/demos/voice_search.md): Search using voice input with browser speech recognition - [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 - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [Storage](https://www.meilisearch.com/docs/resources/internals/storage.md): Learn about how Meilisearch stores and handles data in its LMDB storage engine. - [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. - [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 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. - [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. - [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. - [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 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. - [Update to the latest Meilisearch version](https://www.meilisearch.com/docs/resources/migration/updating.md): Learn how to migrate to the latest Meilisearch release. - [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. - [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. - [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 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. - [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 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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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. - [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 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. - [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. - [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. - [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. - [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. - [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. ## OpenAPI Specs - [meilisearch-openapi](https://www.meilisearch.com/docs/assets/open-api/meilisearch-openapi.json) - [meilisearch-openapi-mintlify](https://www.meilisearch.com/docs/assets/open-api/meilisearch-openapi-mintlify.json) - [package](https://www.meilisearch.com/docs/package.json) - [package-lock](https://www.meilisearch.com/docs/package-lock.json) - [docs-scraper.config](https://www.meilisearch.com/docs/docs-scraper.config.json) - [videogames](https://www.meilisearch.com/docs/assets/datasets/videogames.json) - [stories](https://www.meilisearch.com/docs/assets/datasets/stories.json) - [restaurants](https://www.meilisearch.com/docs/assets/datasets/restaurants.json) - [movies](https://www.meilisearch.com/docs/assets/datasets/movies.json) - [kitchenware](https://www.meilisearch.com/docs/assets/datasets/kitchenware.json) - [crm-tickets](https://www.meilisearch.com/docs/assets/datasets/crm-tickets.json) - [crm-profiles](https://www.meilisearch.com/docs/assets/datasets/crm-profiles.json) - [crm-chats](https://www.meilisearch.com/docs/assets/datasets/crm-chats.json) - [books](https://www.meilisearch.com/docs/assets/datasets/books.json) - [.code-samples.meilisearch](https://www.meilisearch.com/docs/.code-samples.meilisearch.yaml)