Skip to main content
Full-text search is the core capability of Meilisearch. When a user types a query, Meilisearch scans indexed documents and returns results ranked by relevance using a multi-criteria sorting algorithm.

Key features

  • Typo tolerance: automatically handles misspellings using Levenshtein distance
  • Prefix search: returns results as the user types, matching partial words
  • Multi-criteria ranking: combines multiple ranking rules (typo, proximity, attribute, exactness, and more) to determine result order
  • Customizable relevancy: configure ranking rules, searchable attributes, stop words, synonyms, and more to fine-tune results for your use case
Full-text search works best when users search with keywords or short phrases and expect results ranked by textual relevance. If your users search with natural language questions or need results based on meaning rather than exact terms, consider hybrid search or conversational search.

Choosing a search endpoint

Meilisearch exposes two search routes: POST /indexes/{index_uid}/search and GET /indexes/{index_uid}/search. Prefer POST in nearly all cases. POST accepts the full range of search parameters, including structured (array) filter expressions, and is the endpoint every official SDK uses.
Use of the GET /search route is discouraged unless you have a specific reason to prefer it (for example, to leverage HTTP caching at a proxy layer). The GET route only accepts string filter expressions, so array-shaped filters must be serialized to strings before being passed as query parameters.

Next steps

Getting started

Try your first search query

Configure relevancy

Learn how ranking works and how to customize it

Hybrid search

Combine full-text with semantic search

How-to guides

Configure search behavior for your use case