Meilisearch periodically introduces new experimental features. Experimental features are not always ready for production, but offer functionality that might benefit some users.
An experimental feature’s API can change significantly and become incompatible between releases. Keep this in mind when using experimental features in a production environment.
Meilisearch makes experimental features available expecting they will become stable in a future release, but this is not guaranteed.
Activating experimental features
Experimental features fall into two groups based on how they are activated or deactivated:
- Those that are activated at launch with a command-line flag or environment variable
- Those that are activated with the
/experimental-features API route.
Activating experimental features at launch
Some experimental features can be activated at launch, for example with a command-line flag:
./meilisearch --experimental-enable-metrics
Flags and environment variables for experimental features are not included in the regular configuration options list. Instead, consult the specific documentation page for the feature you are interested in, which can be found in the experimental section.
Command-line flags for experimental features are always prefixed with --experimental. Environment variables for experimental features are always prefixed with MEILI_EXPERIMENTAL.
Activating or deactivating experimental features this way requires you to relaunch Meilisearch.
Activating experimental features during runtime
Some experimental features can be activated via an HTTP call using the /experimental-features API route:
curl \
-X PATCH 'MEILISEARCH_URL/experimental-features/' \
-H 'Content-Type: application/json' \
--data-binary '{
"metrics": true
}'
Activating or deactivating experimental features this way does not require you to relaunch Meilisearch.
The logs and metrics experimental features are not available on Meilisearch Cloud. Both require controlling the Meilisearch process at launch to enable the --experimental-enable-logs-route and --experimental-enable-metrics flags, which Cloud users cannot do. Use Cloud’s built-in Analytics dashboard for observability instead.
Current experimental features
| Name | Description | How to configure |
|---|
| Limit task batch size | Limits number of tasks processed in a single batch | CLI flag or environment variable |
| Log customization | Customize log output and set up log streams | CLI flag or environment variable, API route |
| Metrics API | Exposes Prometheus-compatible analytics data | CLI flag or environment variable, API route |
| Reduce indexing memory usage | Optimizes indexing performance | CLI flag or environment variable |
| Replication parameters | Alters task processing for clustering compatibility | CLI flag or environment variable |
| Search queue size | Configure maximum number of concurrent search requests | CLI flag or environment variable |
| Drop search after | Drop irrelevant search requests after a configurable timeout (default: 60s) | CLI flag or environment variable |
| Searches per core | Configure number of concurrent search requests per CPU core (default: 4) | CLI flag or environment variable |
CONTAINS filter operator | Enables usage of CONTAINS with the filter search parameter | CLI flag or environment variable, API route |
| Edit documents with function | Use a Rhai function to edit documents directly in the Meilisearch database | API route |
/network route | Enable /network route | API route |
| Dumpless upgrade | Upgrade Meilisearch without generating a dump | API route |
| Composite embedders | Enable composite embedders | API route |
| Chat completions | Enable chat completion capabilities | API route |
| Get task documents route | Enable route to retrieve documents from tasks | API route |
| Search query embedding cache | Enable a cache for search query embeddings | CLI flag or environment variable |
| Uncompressed snapshots | Disable snapshot compaction | CLI flag or environment variable |
| Maximum batch payload size | Limit batch payload size | CLI flag or environment variable |
| Multimodal search | Enable multimodal search | API route |
| Disable new indexer | Use previous settings indexer | CLI flag or environment variable |
| Allowed IP networks | Override default IP policy with allowed CIDR ranges | CLI flag or environment variable |
| Search personalization | Enables search personalization | CLI flag or environment variable |
| Search rules | Curate search results by pinning selected documents when query- or time-based conditions match | API route |