Skip to main content

New Features

Hybrid search enhancements

Meilisearch now supports two new embedder sources for hybrid search: Ollama model - Run language models locally using the Ollama framework:
Generic REST embedder - Connect to any embedder with a RESTful interface:
Distribution setting - Apply affine transformations to semantic search ranking scores to improve result ranking when combining semantic and keyword search:

Negative keywords

Exclude specific terms from search results using the - operator:
  • -escape returns documents that do not contain “escape”
  • -escape room returns documents containing “room” but not “escape”
  • -"on demand" returns documents that do not contain the phrase “on demand”

Search cutoff timeout

Configure a timeout for search requests to prevent crashes and performance issues. Set a custom timeout value using the /settings endpoint:
The default timeout is 1500ms. Set to null to disable the cutoff.

Improvements

Indexing performance

Increased indexing speed when updating settings.

Search stability

Added a limit for concurrent search requests to prevent unbounded RAM consumption. Launch your instance with a custom limit:
The default limit is 1000 enqueued requests. This limit does not impact search performance, only prevents security issues from excessive queueing.

Facet sorting

The sortFacetValuesBy setting now impacts the /facet-search route for consistent facet value ordering.

Hybrid search improvements

  • Return keyword search results even if embedding generation fails during hybrid searches
  • Added semanticHitCount field to search responses indicating the number of hits from semantic search
  • Improved search logs to exclude hits from DEBUG log level output

Tokenizer improvements

Enhanced tokenization with support for:
  • Markdown formatted code blocks
  • Improved Korean segmentation
  • Tab character (\t) recognition as a separator
  • Optional pinyin normalization for Chinese text

Vector embeddings in dumps

Vectors are now included in database dumps, providing an upgrade path to future versions without requiring regeneration of embeddings for auto-generating embedders.

Other

Breaking changes: Semantic search scoring

To improve search response times and reduce bandwidth:
  • _semanticScore is no longer returned in search responses; use _rankingScore instead
  • The vector field is no longer included in search responses
  • Query vectors are no longer displayed when "showRankingScoreDetails": true is set
Find more information on GitHub