# Experimental features

# 1. Summary

Experimental features are features that are not covered by Meilisearch's stability guarantee (opens new window). They require explicit opt-in to be usable and may break back compatibility or be removed between minor and patch versions of Meilisearch.

# 2. Motivation

See Motivation (opens new window) in the experimental feature process.

# 3. Functional Specification

Some experimental features can be enabled when starting the Meilisearch binary via a command line option, a configuration option or an environment variable. These experimental features are the instance experimental features.

Other experimental features can be enabled at runtime by using the /experimental-features route. They are the runtime experimental features.

# 3.1. Instance experimental features

To enable instance experimental features, pass their associated command line flag as an option to Meilisearch. For each such command line flag, there also exists a configuration option and an environment variable.

Feature name Command line flag Description Missing for stabilization Expected stabilization date/version Product discussion
Prometheus Metrics --experimental-enable-metrics The /metrics endpoint exposes metrics to be scraped by a Prometheus collector at regular intervals and stored for analysis. We have yet to determine which metrics we want to expose and how TBC https://github.com/meilisearch/product/discussions/625 (opens new window)
Reduce Indexing Memory Usage --experimental-reduce-indexing-memory-usage Trades-off indexing speed with a lower RAM footprint. We have yet to determine if a lot impacts performance and whether the RAM usage reduction is significant enough. TBC https://github.com/meilisearch/product/discussions/652 (opens new window)
Enable logs route --experimental-enable-logs-route The /logs/* endpoints exposes ways to retrieves and customizes logs. TBC https://github.com/orgs/meilisearch/discussions/721 (opens new window)
Change logs mode --experimental-logs-mode json The CLI flags takes a parameter, either json or human that will change the way we output the logs to the console. human is used by default. TBC https://github.com/orgs/meilisearch/discussions/723 (opens new window)

# 3.2. Runtime experimental features

Feature name How to enable Description Missing for stabilization Expected stabilization date/version Product discussion
curl \
  -X PATCH 'http://localhost:7700/experimental-features/' \
  -H 'Content-Type: application/json'  \
--data-binary '{
    "vectorStore": true
  }'
Enables storing and searching by using semantic vectors Confidence in the speed of the indexation, search of the vectors, and API surface v1.4

https://github.com/meilisearch/product/discussions/677 (opens new window)

# 4. Technical Details

N/A

# 5. Future Possibilities

N/A