New Features
Automated embeddings generation for vector search
Meilisearch can now automatically generate embeddings using OpenAI, HuggingFace, or your own pre-computed vectors. Configure embedders in your index settings:documentTemplate field uses Liquid format to define what content gets embedded. The model parameter specifies which OpenAI or HuggingFace model to use.
Hybrid search
Combine keyword and semantic search in a single query using the newhybrid parameter:
semanticRatio controls the balance between semantic and keyword search (0 = pure keyword search, 1 = pure semantic search, default = 0.5).
Task queue webhook
Receive notifications when Meilisearch finishes processing tasks by configuring a webhook:MEILI_TASK_WEBHOOK_URL and MEILI_TASK_WEBHOOK_AUTHORIZATION_HEADER environment variables or in your configuration file.
Experimental: Limit batched tasks
Control how many tasks Meilisearch batches together to improve system stability:MEILI_EXPERIMENTAL_MAX_NUMBER_OF_BATCHED_TASKS environment variable or in your configuration file.
Improvements
Indexing performance
Meilisearch v1.6 significantly improves indexing speed by storing less internal data and only re-indexing the specific fields you update. On a 2.5GB e-commerce dataset, initial document addition is over 50% faster. Partial document updates show 50-75% performance improvements depending on your dataset and indexing patterns.Disk space reduction
Database disk usage is now 40-50% smaller on typical datasets due to reduced internal data storage. Database growth is also more stable with new document additions.Proximity ranking rule precision
Control the accuracy and performance of proximity-based ranking:byWord (exact distance, default) or byAttribute (faster but less precise, checks only if words appear in the same field).
Other
Vector search breaking changes
If you’ve used vector search in v1.3.0 through v1.5.0, update your implementation:- When using both
qandvectorparameters together, you must now include thehybridparameter - Vectors must be JSON objects instead of arrays:
- Define a model in your embedder settings (previously optional for user-provided embeddings):